如何在点击操作栏的下拉导航列表中更改项目视图?
点击后,我希望显示的项目显示另一个视图(在布局中它被设置为不可见)。
我从onNavigationItemSelected
获得了ActionBar.OnNavigationListener
方法,但它没有通过点击项目的视图,而只是项目在导航微调器中的位置。或者换句话说,为什么我不能从actionbar微调器中引用选定的视图? (就像我可以使用listview onItemClick
中的OnItemClickListener()
查看
答案 0 :(得分:2)
ActionBar
的{{1}}资源ID为:Spinner
获取android:id/action_bar_spinner
资源ID:
Spinner
使用资源ID获取对int resId = getResources().getIdentifier("action_bar_spinner", "id", "android");
小部件的引用:
Spinner
现在您将能够访问所选视图:
final Spinner spinner = (Spinner) getWindow().getDecorView().findViewById(resId);
您可以在CheckedTextView v = (CheckedTextView) spinner.getSelectedView();
:
OnNavigationListener
答案 1 :(得分:0)
我只想弄清楚这一点并设法追踪它。
使用setSelectedNavigationItem
执行此操作。
答案 2 :(得分:0)
使用navigationListener,您可以尝试:
OnNavigationListener navigationListener = new OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
View convertView = null;
View view = adapter.getView(itemPosition, convertView, null);
TextView myTextView = (TextView) view
.findViewById(R.id.my_textView);
Toast.makeText(getBaseContext(), myTextView.getText(),
Toast.LENGTH_LONG).show();
return true;
}
然后,您正在通过适配器检索项目。我唯一的问题是现在修改检索到的参考内容。我似乎无法让它发挥作用。
我希望它有所帮助