PHP natsort сохраняет индекс

Есть ли какой-либо способ для нацорта также изменить индексы?

Т.е.

$array = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');
natsort($array);

Array
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

Но я хочу:

$array = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');
natsort($array);

Array
(
    [0] => IMG0.png
    [1] => img1.png
    [2] => img2.png
    [3] => IMG3.png
    [4] => img10.png
    [5] => img12.png
)
-121--1409774- onTouchEvent onНажмите onLongClick звонит В нашем приложении мы обрабатываем события в кнопке для записи данных. Поэтому первоначально, когда я использую setOnLeyClickListener () и setOnClickListener () вместе с одной и той же кнопкой, это работает хорошо для нас. Что...

В нашем приложении мы обрабатываем события в кнопке для записи данных.

Поэтому первоначально, когда я использую setOnLeyClickListener () и setOnClickListener () вместе с одной и той же кнопкой, это прекрасно работает для нас.

Это означает, что он будет вызывать как этот прослушиватель на основе щелчка и LongClick кнопки. Теперь, когда я попытался использовать setOnTouchListener () с одной и той же кнопкой вместе с setOnLeyClickListener () и setOnClickListener () , тогда только событие OnTouch работает, отдыхайте

Может ли кто-нибудь рассказать мне, почему это произошло, и по возможности объяснить мне пример.

Используется код..

Button btnAdd=new Button(this)

btnAdd.setOnLongClickListener(this);

btnAdd.setOnClickListener(this);

btnAdd.setOnTouchClickListener(this);

public void onClick(View v)
{
    //Statements;
}

public void onLongClick(View v)
{
    //Statements;
}

public boolean onTouch(View v, MotionEvent e) 
{
    switch (e.getAction())
    {
        case MotionEvent.ACTION_DOWN:
        {
            //store the X value when the user's finger was pressed down
            m_downXValue = e.getX();
            break;
        }   

        case MotionEvent.ACTION_UP:
        {
            //Get the X value when the user released his/her finger
            float currentX = e.getX();              
            //MotionEvent x=MotionEvent.obtain((long) m_downXValue,  SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, 1, 1, 1, 1,0, 0, 0, 0, 0);

            // going forwards: pushing stuff to the left
            if (m_downXValue > currentX && currentX < 0)
            {                   
                ViewFlipper vf = (ViewFlipper) findViewById(R.id.flipview);
                vf.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.slide_left));


                vf.showNext();

            }

            // going backwards: pushing stuff to the right
            if (m_downXValue < currentX && currentX > 100)
            {                   
                ViewFlipper vf = (ViewFlipper) findViewById(R.id.flipview);                                     
                vf.setAnimation(AnimationUtils.loadAnimation(this, R.anim.slide_right));


                vf.showPrevious();

            }   

            if (m_downXValue == currentX)
            {                   
                onClick(v);
            }    

            break;
        }
    }
    return true;
}
11
задан Jonik 6 February 2014 в 12:05
поделиться