Java Android导航抽屉故障

Java Android导航抽屉故障,java,android,android-fragments,navigation-drawer,Java,Android,Android Fragments,Navigation Drawer,我已尝试按照以下步骤创建导航抽屉。当我构建并运行时,它只是崩溃了。 这是我的日志: at com.infintro.keondrae.everythingminecraft.FragmentNavigationDrawer.setupDrawerConfiguration(FragmentNavigationDrawer.java:63) at com.infintro.keondrae.everythingminecraft.MainActivity.onCreate(Main

我已尝试按照以下步骤创建导航抽屉。当我构建并运行时,它只是崩溃了。
这是我的日志:

at com.infintro.keondrae.everythingminecraft.FragmentNavigationDrawer.setupDrawerConfiguration(FragmentNavigationDrawer.java:63)
        at com.infintro.keondrae.everythingminecraft.MainActivity.onCreate(MainActivity.java:22)
从logcat中,我发现MainActivity的第22行和FragmentNavigationDrawer的第63行有一个错误。main活动的第22行是布局的onCreate

主要活动

public class MainActivity extends FragmentActivity {
private FragmentNavigationDrawer dlDrawer;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // Find our drawer view
    dlDrawer = (FragmentNavigationDrawer) findViewById(R.id.drawer_layout);
    // Setup drawer view
   **Line 22** dlDrawer.setupDrawerConfiguration((ListView) findViewById(R.id.lvDrawer),
            R.layout.drawer_nav_item, R.id.flContent);
    // Add nav items
    dlDrawer.addNavItem("Welcome", "Welcome Fragment", Welcome.class);
    dlDrawer.addNavItem("Blueprints", "Blueprints Fragment", Blueprints.class);
    dlDrawer.addNavItem("Chat", "Chat Fragment", Chat.class);
    dlDrawer.addNavItem("Redstone", "Redstone Fragment", Redstone.class);
    dlDrawer.addNavItem("Tutorials", "Tutorials Fragment", Tutorials.class);
    dlDrawer.addNavItem("Gameplay", "Gameplay Fragment", Gameplay.class);
    dlDrawer.addNavItem("Maps/Mods", "Maps/Mods Fragment", MapsMods.class);
    dlDrawer.addNavItem("Wallpapers", "Wallpapers Fragment", Wallpapers.class);
    dlDrawer.addNavItem("About", "About Fragment", About.class);

    // Select default
    if (savedInstanceState == null) {
        dlDrawer.selectDrawerItem(0);
    }
}


@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    // If the nav drawer is open, hide action items related to the content
    if (dlDrawer.isDrawerOpen()) {
        // Uncomment to hide menu items
        // menu.findItem(R.id.mi_test).setVisible(false);
    }
    return super.onPrepareOptionsMenu(menu);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    // Uncomment to inflate menu items to Action Bar
    // inflater.inflate(R.menu.main, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // The action bar home/up action should open or close the drawer.
    // ActionBarDrawerToggle will take care of this.
    if (dlDrawer.getDrawerToggle().onOptionsItemSelected(item)) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}

@Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    // Sync the toggle state after onRestoreInstanceState has occurred.
    dlDrawer.getDrawerToggle().syncState();
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    // Pass any configuration change to the drawer toggles
    dlDrawer.getDrawerToggle().onConfigurationChanged(newConfig);
}
FragmentNavigationDrawer.java 这是其中的一部分。第63行是getActionBar()

//设置抽屉配置((ListView)findViewById(R.id.lvDrawer)、R.layout.drawer\u列表\u项、R.id.flContent);
公共无效设置抽屉配置(ListView抽屉列表视图、int抽屉属性、int抽屉内容){
//设置导航项数组
paurernavitems=newarraylist();
//设置列表视图的适配器
DrawerDatapter=newArrayAdapter(getActivity(),drawerItemRes,newArrayList());
this.drawerContainerRes=drawerContainerRes;
//设置抽屉列表视图和相关适配器
LV抽屉=抽屉列表视图;
lvDrawer.setAdapter(drawerAdapter);
//设置项侦听器
lvDrawer.setOnItemClickListener(新的FragmentDrawerItemListener());
//ActionBarDrawerToggle将适当的交互连接在一起
//在滑动抽屉和操作栏应用程序图标之间
抽屉切换=设置抽屉切换();
设置抽屉链接器(抽屉切换);
//当抽屉打开时,设置覆盖主要内容的自定义阴影
setDrawerShadow(R.drawable.drawer_shadow,GravityCompat.START);
//设置操作按钮
getActionBar().setDisplayHomeAsUpEnabled(true);
**第63行**getActionBar().setHomeButtonEnabled(true);
}
布局:

主要活动

<com.infintro.keondrae.everythingminecraft.FragmentNavigationDrawer
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<!-- The main content view -->
<FrameLayout
    android:id="@+id/flContent"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<!-- The navigation drawer -->
<ListView android:id="@+id/lvDrawer"
          android:layout_width="240dp"
          android:layout_height="match_parent"
          android:layout_gravity="start"
          android:choiceMode="singleChoice"
          android:divider="@android:color/darker_gray"
          android:dividerHeight="0dp"
          android:background="@android:color/background_light"
    />

出票人资产净值项目

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@android:id/text1"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@android:drawable/list_selector_background"
      android:gravity="center_vertical"
      android:paddingLeft="16dp"
      android:paddingRight="16dp"
      android:minHeight="?android:attr/listPreferredItemHeightSmall"
      android:textAppearance="?android:attr/textAppearanceListItemSmall"
      android:textSize="16sp"
      android:textColor="#111" />


有人能帮我吗?

您正在使用这一行“DrawerDatapter=new ArrayAdapter(getActivity(),drawerItemRes,new ArrayList());”在这个“setupDrawerConfiguration”方法中,但在github文件中,它位于这个方法的“AddNaviItem”中。因此,请输入此方法,然后再试一次,好吗。@SurenderKumar谢谢,但我试图将它们移动到下的“addNavItem”方法,但仍然崩溃。如果需要,您可以将此链接用于导航抽屉-@SurenderKumar谢谢,我将尝试此链接。
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@android:id/text1"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@android:drawable/list_selector_background"
      android:gravity="center_vertical"
      android:paddingLeft="16dp"
      android:paddingRight="16dp"
      android:minHeight="?android:attr/listPreferredItemHeightSmall"
      android:textAppearance="?android:attr/textAppearanceListItemSmall"
      android:textSize="16sp"
      android:textColor="#111" />