2012-01-11 2 views
0

В зависимости от клика 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 кнопки ????

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

i.e. Нажмите на кнопку, чтобы ее можно было снять.

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

Как это реализовать?

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

screen

ответ

1

Возьмите 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

он работал как шарм !! – GAMA

0

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

+0

я пропустил что-то в вопросе. 'onListItem' щелкнуть в случае кнопки Index, он не должен перейти к новому действию, но необходимо выполнить некоторую другую операцию. – GAMA

+0

В этом случае есть два onItemClickListeners и соответствующим образом переключать их. –