我正在开发适用于Android 3+的应用程序。
在我的操作栏中,我有一个下拉列表(请参见如何在Android 3上隐藏/显示操作栏列表?以获取我打算使用的下拉列表)。问题是,当用户选择某个选项时,我需要执行某个特定的操作,但Android在绘制视图时立即调用onNavigationItemSelected(),因此实际上没有进行任何选择。
如何检测用户是否实际按下了某个按钮,而不是来自Android的伪造调用?
在我的操作栏中,我有一个下拉列表(请参见如何在Android 3上隐藏/显示操作栏列表?以获取我打算使用的下拉列表)。问题是,当用户选择某个选项时,我需要执行某个特定的操作,但Android在绘制视图时立即调用onNavigationItemSelected(),因此实际上没有进行任何选择。
如何检测用户是否实际按下了某个按钮,而不是来自Android的伪造调用?
public class ListDittaListener implements OnNavigationListener{
private BaseActivity activity;
private ListDittaListener()
{
}
public ListDittaListener(BaseActivity activity)
{
this.activity = activity;
}
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId)
{
MyApp appState = ((MyApp)this.activity.getApplicationContext());
appState.setDittaSelezionata( (int) itemId);
SharedPreferences settings = this.activity.getSharedPreferences(MyApp.PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("ditta_id_selezionata", (int) itemId);
////////restart activity this.activity.recreate();
return false;
}
}