我想知道使用ActionBar
和Fragment
操作的推荐方法。
我的应用中的常规导航是使用NavigationDrawer
。然而,一个片段显示音乐专辑,我想使用导航下拉按类型过滤专辑。是这样做的正确方法吗?
我应该如何在ActionBar's
下拉列表中填充流派?我应该在Activity
还是Fragment
中执行此操作?
答案 0 :(得分:1)
ActionBar始终存在于Activity中,需要从此处控制/填充。
由于您正在使用片段,因此当您在片段之间切换时,应该使用Activity(onCreateOptionsMenu())中的AB生命周期方法来更改AB项目(再次在您的Activity中完成,因此您已经在制作片段变化,只需要进行AB更改)。
我认为您正在描述NavDrawer,AB和Fragment用法的正确用例 - 将您的内容片段的过滤条件放在AB中是合适的。
答案 1 :(得分:1)
您可以在资源文件中创建一个字符串数组,其中列出了类型。这都在资源标签内。
<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),你可以在那里添加更多,当然,添加&amp;更改资源文件中的字符串名称。然后使用onItemSelected方法与下拉列表进行交互。