нажмите кнопку захвата, чтобы настроить навигацию - PullRequest
0 голосов
/ 11 января 2012

В зависимости от нажатых button из 3 button, в listView.

заполняются различные данные. Я использовал этот onListItemClick фрагмент

    //ltable refers to list
    String item = ltable.getItemAtPosition(position).toString();
    Intent i = new Intent(getApplicationContext(),NextClass.class);
    i.putExtra("name", item);
    startActivity(i);

Теперь при любом нажатии кнопки соответствующие данные заполняются в listView.Затем на listItelClick он переходит на NextClass.class и, следовательно, запускается новое действие.

Что если я хочу, чтобы приложение переходило к следующему представлению тогда и только тогда, когда заполнено listViewкогда нажата кнопка Gainers или Losers ????

Если при нажатии кнопки Index заполнено listView, не должно перемещаться .

т.е. Нажатие на кнопку должно быть зафиксировано.

Я пытался использовать флаг, но в buttonClickListener допускаются только переменные final , поэтому он не работает.

Как я могу это реализовать ??

ЛЮБАЯ ПОМОЩЬ БУДЕТ СПАСИТЬ ЖИЗНЬ !!!

screen

Ответы [ 2 ]

1 голос
/ 11 января 2012

Возьмите class переменную уровня

boolean shouldNavigate = false;

и onClick() из Index Button.установите shouldNavigate в false:

public void onClick(View v)
{
   // Update adapter for Index..
   shouldNavigate = false;
}

Но в onClick(), отличном от Index Button.установите shouldNavigate на true:

public void onClick(View v)
{
   // Update adapter for Gainer or Losers..
   shouldNavigate = true;
}

и внутри вашего onItemClick() проверьте флаг и перейдите соответственно

public void onItemClick(AdapterView parent, View view, int position, long id) {
       if(shouldNavigate)
       {
       // you can navigagte...
       }
       else
       {
       // do other task
       }
}
0 голосов
/ 11 января 2012

Когда вы находитесь в режиме «Индекс», удалите onItemClickListener.Добавьте его обратно для двух других кнопок.

...