我想创建一个持久工具栏(带图标),将片段活动启动到另一个片段中。我跟着this tutorial,但我无法弄清楚如何将listview转换为DetailFragment显示下的水平工具栏。
我试图在片段中添加按钮,但是片段的setContentView没有等价物。此外,Android似乎没有任何水平的Listviews。
我也看过ActionBar,但这似乎不是我想要的。
一般来说,如何创建一个在Android应用中启动活动的持久工具栏?
非常感谢任何帮助!
答案 0 :(得分:0)
感谢响应者! 我意识到实现片段的tabhost解决了我的问题。
这是我发现的一个非常好的教程。我希望它可以帮助别人。 http://thepseudocoder.wordpress.com/2011/10/04/android-tabs-the-fragment-way/
答案 1 :(得分:0)
ActionBar似乎确实是正确的选择
有一个设置图标的菜单XML
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_frag1" android:title="@string/action_frag1"
android:icon="@android:drawable/ic_menu_add"
android:orderInCategory="450" app:showAsAction="ifRoom" />
<item android:id="@+id/action_frag2" android:title="@string/action_frag2"
android:icon="@android:drawable/ic_menu_revert"
android:orderInCategory="400" app:showAsAction="ifRoom" />
...
</menu>
在“活动”中使用它并回复“按下”
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case android.R.id.action_frag1:
//Here we change the fragment
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction tr = fm.beginTransaction();
tr.replace(R.id.container, Fragment1.newInstance());
tr.commit();
break;
case R.id.action_frag2:
... // same thing, but stay DRY
break;
}
return super.onOptionsItemSelected(item);
}