【问题标题】:ActionBarCompat - On draw open/closed not being called?ActionBarCompat - 在绘制打开/关闭时未被调用?
【发布时间】:2013-10-15 23:36:23
【问题描述】:
ActionBar actionBar = getSupportActionBar();
mDrawerList.setAdapter(new ArrayAdapter<String>(this,R.layout.drawer_list_item, DrawTitles));
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) {
    public void onDrawerClosed(View view) {
        actionBar.setTitle("fd");
        invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
    }

    public void onDrawerOpened(View drawerView) {
        Log.e("KFF", "Draw Open");
        String mystring = "reewr";
        SpannableString s = new SpannableString(mystring);
        s.setSpan(new TypefaceSpan(MainActivity.this, "cubano"), 0, s.length(),
        Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        actionBar.setTitle(s);
        invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
    }
};

无论我尝试什么,onDrawerOpenedClosed 都没有被调用,尽管一切都按预期工作,包括操作栏切换图标和所有功能。

【问题讨论】:

  • 仍在寻求帮助

标签: android android-actionbar-compat


【解决方案1】:

解决了。

似乎这是一件小事:

 mDrawerLayout.setDrawerListener(mDrawerToggle);

在我设置实际的 DrawerToggle 之前,它正在初始化并且没有抛出任何错误,因为变量是正确的类型,只是简单地为 null。

需要注意的事情。

【讨论】:

    【解决方案2】:

    您必须使用 supportInvalidateOptionsMenu() 而不是 invalidateOptionsMenu()

    This post by Gabriele Mariotti help you to use ActionBarCompat with the NavigationDrawer

    注意不要丢失代码;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多