gpt4 book ai didi

android 操作栏 onNavigationItemSelected

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:36:24 25 4
gpt4 key购买 nike

我正在为 android 3+ 开发

在我的操作栏中,我有一个下拉列表(请参阅 how to hide/unhide the actionbar list on android 3? 了解我想要的下拉列表)。问题是我需要在用户选择某些内容时执行特定操作,但 Android 在绘制 View 后立即调用 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;
}

}

最佳答案

如果您愿意,您可以轻松地忽略对 onNavigationItemSelected 的第一次调用:

public class Whatever implements OnNavigationListener {
private boolean synthetic = true;

@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
if (synthetic) {
synthetic = false;
return true;
}

// do whatever you really wanted here
}
}

关于android 操作栏 onNavigationItemSelected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9517749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com