操作栏如何更改项目单击时的视图

时间:2012-06-29 09:41:18

标签: android adapter android-actionbar click

如何在点击操作栏的下拉导航列表中更改项目视图? 点击后,我希望显示的项目显示另一个视图(在布局中它被设置为不可见)。 我从onNavigationItemSelected获得了ActionBar.OnNavigationListener方法,但它没有通过点击项目的视图,而只是项目在导航微调器中的位置。或者换句话说,为什么我不能从actionbar微调器中引用选定的视图? (就像我可以使用listview onItemClick中的OnItemClickListener()查看

3 个答案:

答案 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;
  }

然后,您正在通过适配器检索项目。我唯一的问题是现在修改检索到的参考内容。我似乎无法让它发挥作用。

我希望它有所帮助