0

i've got this code:

    // 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;
                }
            }
        });

but when i click on the element 4, the app crash... i don't know why :-| i think there's no strange think inside... just a normal intent. i need to throw an intent for each of the item, and i'm trying now with the fourth (in position) element.

the logcat (always 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 Answer 1

1
Intent intent_rss = new Intent(YourActivityName.this, RSS.class);
startActivity(intent_rss);
Sign up to request clarification or add additional context in comments.

2 Comments

thanks, it work. but can i ask why? i know that usually i must call the parent
getParent() return an Activity from what I see, (I have never used that method though). But since you are inside OnItemClickListener, putting "this" or "getParent()" would refer to the class of OnItemClickListener instead of the Activity. That is why!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.