2015-04-19 80 views
0
04-19 13:00:01.441 2331-2331/com.example.barun.myapplication E/InputEventReceiver﹕ Exception dispatching input event. 
04-19 13:00:01.442 2331-2331/com.example.barun.myapplication E/MessageQueue-JNI﹕ Exception in MessageQueue callback: handleReceiveCallback 
04-19 13:00:01.442 2331-2331/com.example.barun.myapplication E/MessageQueue-JNI﹕ java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.support.v7.internal.view.menu.MenuItemImpl.hasSubMenu()' on a null object reference 
     at android.support.v7.internal.view.menu.ActionMenuItemView.onTouchEvent(ActionMenuItemView.java:135) 
     at android.view.View.dispatchTouchEvent(View.java:8388) 
     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2314) 
     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1692) 
     at android.app.Activity.dispatchTouchEvent(Activity.java:2739) 
     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2275) 
     at android.view.View.dispatchPointerEvent(View.java:8578) 
     at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4021) 
     at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3887) 
     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) 
     at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3502) 
     at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3468) 
     at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3578) 
     at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3476) 
     at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3635) 
     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) 
     at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3502) 
     at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3468) 
     at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3476) 
     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) 
     at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5701) 
     at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5675) 
     at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5646) 
     at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5791) 
     at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 
     at android.os.MessageQueue.nativePollOnce(Native Method) 
     at android.os.MessageQueue.next(MessageQueue.java:143) 
     at android.os.Looper.loop(Looper.java:122) 
     at android.app.ActivityThread.main(ActivityThread.java:5221) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
04-19 13:00:01.442 2331-2331/com.example.barun.myapplication D/AndroidRuntime﹕ Shutting down VM 
04-19 13:00:01.442 2331-2331/com.example.barun.myapplication E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: com.example.barun.myapplication, PID: 2331 
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.support.v7.internal.view.menu.MenuItemImpl.hasSubMenu()' on a null object reference 
     at android.support.v7.internal.view.menu.ActionMenuItemView.onTouchEvent(ActionMenuItemView.java:135) 
     at android.view.View.dispatchTouchEvent(View.java:8388) 
     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2314) 
     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1692) 
     at android.app.Activity.dispatchTouchEvent(Activity.java:2739) 
     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2275) 
     at android.view.View.dispatchPointerEvent(View.java:8578) 
     at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4021) 
     at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3887) 
     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) 
     at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3502) 
     at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3468) 
     at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3578) 
     at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3476) 
     at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3635) 
     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) 
     at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3502) 
     at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3468) 
     at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3476) 
     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) 
     at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5701) 
     at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5675) 
     at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5646) 
     at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5791) 
     at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 
     at android.os.MessageQueue.nativePollOnce(Native Method) 
     at android.os.MessageQueue.next(MessageQueue.java:143) 
     at android.os.Looper.loop(Looper.java:122) 
     at android.app.ActivityThread.main(ActivityThread.java:5221) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
04-19 13:00:03.580 2331-2331/com.example.barun.myapplication I/Process﹕ Sending signal. PID: 2331 SIG: 9 

我學習Android應用開發以下Youtube視頻教程,這基本上是上市延長 ListActivity類的所有我的應用程序的活動。遵循這些說明,每當我從列表中選擇活動時,都會收到此錯誤,應用程序會因「不幸地,我的應用程序已停止」而感到不安。 搜查計算器很多,但對於這種NullException錯誤異常調度輸入事件 - NullPointerException異常

「布爾android.support.v7.internal.view.menu.MenuItemImpl.hasSubMenu()」對空對象引用毫無疑問

下面是我的代碼,

public class Menu extends ListActivity { 
    String classes[] = {"MainActivity","example1","example2","example3","example4","example5","example6"}; 
    @Override 
    protected void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     setListAdapter(new ArrayAdapter<String>(Menu.this,R.layout.abc_action_menu_item_layout ,classes)); 
    } 

    @Override 
    protected void onListItemClick(ListView l, View v, int position, long id){ 
     super.onListItemClick(l, v, position, id); 
     String cheese = classes[position]; 

     try { 
      Class ourClass = Class.forName("com.example.barun.myapplication."+cheese); 
      Intent ourIntent = new Intent(Menu.this,ourClass); 
      startActivity(ourIntent); 
     }catch(ClassNotFoundException e){ 
      e.printStackTrace(); 
     } 
    } 
} 

讓我知道所需的任何進一步的信息。提前致謝。

回答

1

的問題是在這條線

setListAdapter(new ArrayAdapter<String>(Menu.this,R.layout.abc_action_menu_item_layout, classes)); 

你正在使用這種觀點android.support.v7.internal.view.menu.ActionMenuItemViewabc_action_menu_item_layout您的值。 ActionBar相關的東西。

解決方案: 而是創建一個佈局(的TextView)設置視圖ID @android:id/text1
simple_layout.xml

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

這樣

setListAdapter(new ArrayAdapter<String>(Menu.this, R.layout.simple_ayout, classes)); 

Happy_Coding :)

+0

謝謝。它的工作現在。:) –

0

空指針異常錯誤意味着你正在做的是返回一個'空'值。

仔細檢查你的日誌,你可以看到日誌告訴你,你的錯誤是在135行,在類叫ActionMenuItemView.java

(ActionMenuItemView.java:135)

你能給我你在該行寫代碼?

有可能是錯誤的。

+0

創建適配器有一刻我教了同樣的教導。 :)實際上,這是API代碼,仔細查看該類的包名'android.support.v7.internal.view.menu.ActionMenuItemView.onTouchEvent(ActionMenuItemView.java:135)':(:(( – Bharatesh