-1
我在stackoverflow中提到了與這個問題有關的一些問題。但不幸的是沒有解決問題。例如,我試圖改變構建路徑中src
和gen
文件夾的順序。如何解決「NoClassDefFoundError」?
現在,當我運行該應用程序。我接收
01-09 09:12:36.931: E/dalvikvm(24536): Could not find class 'com.example.mqtt_designlayout_00.MainActivity$1', referenced from method com.example.mqtt_designlayout_00.MainActivity.setUpNavDrawer
和logcat
輸出:
01-09 09:17:18.311: E/AndroidRuntime(24869): FATAL EXCEPTION: main
01-09 09:17:18.311: E/AndroidRuntime(24869): Process: com.example.mqtt_designlayout_00, PID:
24869
01-09 09:17:18.311: E/AndroidRuntime(24869): java.lang.NoClassDefFoundError:
com.example.mqtt_designlayout_00.MainActivity$1
01-09 09:17:18.311: E/AndroidRuntime(24869): at
com.example.mqtt_designlayout_00.MainActivity.setUpNavDrawer(MainActivity.java:124)
01-09 09:17:18.311: E/AndroidRuntime(24869): at com.
example.mqtt_designlayout_00.MainActivity.initViews(MainActivity.java:104)
01-09 09:17:18.311: E/AndroidRuntime(24869): at
com.example.mqtt_designlayout_00.MainActivity.onCreate(MainActivity.java:43)
01-09 09:17:18.311: E/AndroidRuntime(24869): at
android.app.Activity.performCreate(Activity.java:5389)
01-09 09:17:18.311: E/AndroidRuntime(24869): at
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
01-09 09:17:18.311: E/AndroidRuntime(24869): at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2246)
代碼:
蝕指出了該行誤差:navDrawerToggle = new ActionBarDrawerToggle(MainActivity.this, navDrawerLayout, R.string.navdrawer_opened, R.string.navdrawer_closed)
private void setUpNavDrawer() {
// TODO Auto-generated method stub
navDrawerModel = new ArrayList<NavDrawerModell>();
navDrawerModel.add(new NavDrawerModell(navDrawerIcons.getResourceId(0, -1), navDrawerOptions[0], ECO_ASSISTANT_DESC));
navDrawerModel.add(new NavDrawerModell(navDrawerIcons.getResourceId(1, -1), navDrawerOptions[1], DATA_LOGGER_DESC));
navDrawerModel.add(new NavDrawerModell(navDrawerIcons.getResourceId(2, -1), navDrawerOptions[2], ECO_ASSISTANT_DESC));
navDrawerIcons.recycle(); // to recycle the typed array. never touch the typed array after this line.
adapter = new NavDrawerListAdapter(getApplicationContext(), this.navDrawerModel);
drawerListView.setAdapter(adapter);
// enabling action bar app icon and behaving it as toggle button
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
mTitle = mDrawerTitle = getTitle();
navDrawerToggle = new ActionBarDrawerToggle(MainActivity.this, navDrawerLayout, R.string.navdrawer_opened, R.string.navdrawer_closed) {
@Override
public void onDrawerOpened(View drawerView) {
// TODO Auto-generated method stub
super.onDrawerOpened(drawerView);
getActionBar().setTitle(mDrawerTitle);
invalidateOptionsMenu(); // calling onPrepareOptionsMenu() to hide action bar icons
}
@Override
public void onDrawerClosed(View drawerView) {
// TODO Auto-generated method stub
super.onDrawerClosed(drawerView);
getActionBar().setTitle(mTitle);
invalidateOptionsMenu(); // calling onPrepareOptionsMenu() to show action bar icons
}
};
navDrawerLayout.setDrawerListener(navDrawerToggle);
drawerListView.setOnItemClickListener(new SlideMenuClickListener());
}
你有一個叫'1'的課嗎? – Hacketo
我沒有叫「1」的課? – user2121
您需要顯示代碼導致錯誤... – 2Dee