【问题标题】:Navigation drawer with AppCompat and normal actionbar?带有 AppCompat 和普通操作栏的导航抽屉?
【发布时间】:2017-08-06 02:14:30
【问题描述】:

我目前有一个导航抽屉、一个操作栏(无工具栏),以及我定义为父级Theme.AppCompat.Light 的样式。我想留在操作栏,但是当我使用那个父级时,我变成了以下错误:

"Attempt to invoke virtual method 'android.content.Context android.app.ActionBar.getThemedContext()' on a null object reference"

在那段代码中:

mDrawerListView.setAdapter(new ArrayAdapter<String>(
            getActionBar().getThemedContext(),
            R.layout.navdrawer_item_row,
            android.R.id.text1,
            new String[]{
                    getString(R.string.title_section1),
                    getString(R.string.title_section2),
                    getString(R.string.title_section3),
            }));

有人有解决建议吗? 提前致谢

【问题讨论】:

    标签: android android-actionbar android-appcompat


    【解决方案1】:

    以上都不适合我。实际起作用的是删除: android:theme="...." 来自 application AndroidManifest.xml 文件中的 xml 标记。希望这有助于拯救某人我曾经的挣扎。

    当我使用 API 25 在 Android Studio 2.3.3 中创建 Navigation Drawer Activity 时出现此问题。

    【讨论】:

      【解决方案2】:

      您需要使用getSupportActionBar() 而不是getActionBar()。更改代码中所有出现的 this。

      以下是更正后的代码:

         ActionBar ab = getSupportActionBar();
         mDrawerListView.setAdapter(new ArrayAdapter<String>(
              ab.getThemedContext(),
              R.layout.navdrawer_item_row,
              android.R.id.text1,
              new String[]{
                      getString(R.string.title_section1),
                      getString(R.string.title_section2),
                      getString(R.string.title_section3),
              }));
      

      别忘了导入android.support.v7.app.ActionBar

      同样在样式中将父级更改为Theme.AppCompat.Light.DarkActionBar

      【讨论】:

      • 无法使用 getSupportedActionBar(), "无法解析方法 'getSupportedActionBar()'"
      • 它对我不起作用,我尝试更改它,但 getSupportActionBar() 方法无法解决
      【解决方案3】:

      要使用 AppCompat 主题,您的 Activity 必须扩展 AppCompatActivity(或已弃用的 ActionBarActivity),并且要获取操作栏调用 getSupportActionBar() 方法。

      【讨论】:

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