问题:当我点击抽屉上的某个项目时,它不会显示应该显示的FragmentActivity。应用程序没问题,我编译它时没有错误,当我点击抽屉中的项目时它不会崩溃
MainActivty
private void displayView(int position) {
// update the main content by replacing fragments
FragmentActivity fragment = null;
switch (position) {
case 0:
fragment = new HomeFragment();
break;
case 1:
fragment = new LocateFragment();
break;
case 2:
fragment = new SecureFragment();
break;
case 3:
fragment = new NotificationFragment();
break;
default:
break;
}
if (fragment != null) {
LayoutInflater inflater = getLayoutInflater();
LinearLayout container = (LinearLayout)findViewById(R.id.frame_container);
inflater.inflate(R.layout.activity_main,container);
//FragmentManager fragmentManager = getFragmentManager();
//fragmentManager.beginTransaction()
//.replace(R.id.frame_container, fragment).commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
setTitle(navMenuTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
activity_main.xml中
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Framelayout to display Fragments -->
<LinearLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" />
<!-- Listview to display slider menu -->
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@color/list_divider"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector"
android:background="@color/list_background"/>
答案 0 :(得分:0)
if (fragment != null) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.frame_container,fragment);
transaction.commit();
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
setTitle(navMenuTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
我想你是在追求这样的事情。您将使用此将片段放入容器视图中。希望它有所帮助