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をクリックすると、アプリがクラッシュします...理由はわかりません:-| 中には奇妙な考えはないと思います...ただの通常の意図です。アイテムごとにインテントをスローする必要があり、4番目の(位置にある)要素を使用して試しています。

logcat(常に包括的ではありません):

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)
4

1 に答える 1

1
Intent intent_rss = new Intent(YourActivityName.this, RSS.class);
startActivity(intent_rss);
于 2012-11-28T16:20:31.747 に答える