我想创建一个应用程序,它具有带有 3 个不同片段的操作栏(v7 appcompat)下拉导航。第一个片段是带有标签的列表片段,第二个是常规片段,最后一个是网格视图。我正在使用片段事务来替换框架布局中的片段。
我的问题是如何制作第一个 - 带有标签的列表片段。我想我必须使用视图寻呼机,但为此你需要 Fragment Activity?是否可以将选项卡添加到实际的操作栏?到目前为止,这是我的代码:
public class MainActivity extends ActionBarActivity {
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
SpinnerAdapter spinnerAdapter = ArrayAdapter.createFromResource(this,
R.array.action_list,
android.R.layout.simple_spinner_dropdown_item);
actionBar.setListNavigationCallbacks(spinnerAdapter,
onNavigationListener);
}
OnNavigationListener onNavigationListener = new OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int position, long arg1) {
// TODO Auto-generated method stub
android.support.v4.app.Fragment fragment = null;
FragmentTransaction fragmentTransaction = getSupportFragmentManager()
.beginTransaction();
switch (position) {
case 0:
fragment = new android.support.v4.app.Fragment();
break;
case 1:
fragment = new android.support.v4.app.Fragment();
break;
case 2:
fragment = new android.support.v4.app.Fragment();
break;
default:
break;
}
fragmentTransaction.replace(R.id.framelayout, fragment);
fragmentTransaction.commit();
return true;
}
};
忽略 switch-case 中创建新片段的代码,它们都是相同的。谢谢!