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)
感謝,它的工作。 但我可以問爲什麼?我知道通常我必須調用父類 – Zak
getParent()從我看到的(我從來沒有使用過該方法)返回一個Activity。但是因爲你在OnItemClickListener中,所以把「this」或「getParent()」引用到OnItemClickListener類而不是Activity。這就是爲什麼! – Carnal