2012-11-28 20 views
0

我有了這個代碼:安卓:從列表項的意圖點擊不行

// elementi 
     setContentView(R.layout.index); 
     final ListView lista_menu=(ListView) findViewById(R.id.list_menu); 
    // lista 
     String[] from=new String[]{"immagine","testo"}; 
     int[] to=new int[]{R.id.immagine_menu,R.id.testo_elemento_menu}; 
     List<HashMap<String,Object>> riempimento=new ArrayList<HashMap<String,Object>>(); 
     HashMap<String,Object> map=new HashMap<String,Object>(); 
     map.put("immagine",R.drawable.icon_converter); 
     map.put("testo","Convertitore"); 
     riempimento.add(map); 
     map=new HashMap<String,Object>(); 
     map.put("immagine",R.drawable.icon_noise); 
     map.put("testo","Noise Analyzer"); 
     riempimento.add(map); 
     map=new HashMap<String,Object>(); 
     map.put("immagine",R.drawable.icon_tools); 
     map.put("testo","Tempco Tools"); 
     riempimento.add(map); 
     map=new HashMap<String,Object>(); 
     map.put("immagine",R.drawable.icon_qrcode); 
     map.put("testo","Lettore QR Code"); 
     riempimento.add(map); 
     map=new HashMap<String,Object>(); 
     map.put("immagine",R.drawable.icon_rss); 
     map.put("testo","RSS Reader"); 
     riempimento.add(map); 
     SimpleAdapter adapter = new SimpleAdapter(this,riempimento,R.layout.lista,from,to); 
     lista_menu.setAdapter(adapter); 
    // intents 
     lista_menu.setOnItemClickListener(new OnItemClickListener(){ 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view,int position, long _id){ 
       switch(position){ 
        case 0: 
         break; 
        case 1: 
         break; 
        case 2: 
         break; 
        case 3: 
         break; 
        case 4: 
         Intent intent_rss=new Intent(getParent(),RSS.class); 
         startActivity(intent_rss); 
         break; 
        default: 
         break; 
       } 
      } 
     }); 

,但是當我在元件4上單擊,該應用程序崩潰...我不知道爲什麼: - |我認爲裏面沒有奇怪的想法......只是一個正常的意圖。 我需要爲每個項目拋出一個意圖,我現在正在嘗試第四個(位置)元素。

的logcat的(總是uncomprehensive):

11-28 17:13:24.731: E/AndroidRuntime(11855): FATAL EXCEPTION: main 
11-28 17:13:24.731: E/AndroidRuntime(11855): java.lang.NullPointerException 
11-28 17:13:24.731: E/AndroidRuntime(11855): at android.content.ComponentName.<init>(ComponentName.java:75) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at android.content.Intent.<init>(Intent.java:2702) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at it.mi.action.itempco.Index$3.onItemClick(Index.java:80) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at android.widget.AdapterView.performItemClick(AdapterView.java:284) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at android.widget.ListView.performItemClick(ListView.java:3513) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at android.os.Handler.handleCallback(Handler.java:587) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at android.os.Handler.dispatchMessage(Handler.java:92) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at android.os.Looper.loop(Looper.java:123) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at android.app.ActivityThread.main(ActivityThread.java:3683) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at java.lang.reflect.Method.invokeNative(Native Method) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at java.lang.reflect.Method.invoke(Method.java:507) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
11-28 17:13:24.731: E/AndroidRuntime(11855): at dalvik.system.NativeStart.main(Native Method) 

回答

1
Intent intent_rss = new Intent(YourActivityName.this, RSS.class); 
startActivity(intent_rss); 
+0

感謝,它的工作。 但我可以問爲什麼?我知道通常我必須調用父類 – Zak

+0

getParent()從我看到的(我從來沒有使用過該方法)返回一個Activity。但是因爲你在OnItemClickListener中,所以把「this」或「getParent()」引用到OnItemClickListener類而不是Activity。這就是爲什麼! – Carnal