Manipulating ActionBar from Fragment



我想知道使用ActionBarFragment操作的推荐方法是什么。

一般导航在我的应用程序是通过使用NavigationDrawer。然而,一个片段显示音乐专辑,我想使用导航下拉过滤的流派专辑。这样做合适吗?我应该如何在ActionBar's下拉菜单中填充类型?我应该在Activity还是Fragment中做?

ActionBar始终存在于Activity中,需要从这里控制/填充。

因为你正在使用片段,你应该在活动中使用AB生命周期方法(onCreateOptionsMenu())来改变AB项目,当你在片段之间切换时(再次这是在你的活动中完成的,所以你已经在做片段的改变,只需要做AB的改变)。

我确实认为您正在描述NavDrawer, AB和Fragment使用的正确用例-将内容片段的过滤标准放在AB中是合适的。

您可以在资源文件中创建一个包含列出的类型的字符串数组。这些都在资源标签内。

<string-array name="genres">
<item>music_Genre1</item>
<item>music_Genre2</item>
.....
</string-array>

然后将它添加到旋转控件

的实例中
Spinner spinner = (Spinner) findViewById(R.id.your_View);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
    R.array.genres, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

或者如果数组已经在onCreateOptionsMenu()中,我相信它在那里,它应该有一个字符串数组与字符串资源在那里(@string/dropdown_item),你可以在那里添加更多,当然,添加&更改资源文件中的字符串名称。然后使用onItemSelected方法与下拉菜单交互

最新更新