Bonjour, j'ai un petit soucis de syntaxe sans doute pour changer d'activité en fonction de mon choix dans une liste:
Donc le code dans ma classe principale donne ceci:
et donc ma classe MyListViewItemListener donne ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part listViewMap[i].setOnItemClickListener(new MyListViewItemListener(mDataMap.get(i), getActivity()));
Je passe donc mon activité en paramètre pour pouvoir fournir celle-ci à la classe Intent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package rapport.presse.cim; import java.util.List; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.AdapterView.OnItemClickListener; public class MyListViewItemListener implements OnItemClickListener { private List<String> list; private FragmentActivity fragmentActivity; public MyListViewItemListener(List<String> list, FragmentActivity activity) { // TODO Auto-generated constructor stub this.list = list; this.fragmentActivity = fragmentActivity; } public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub String choix = list.get(position); Bundle mObjetBundle = new Bundle(); //Permet de passer un paramètre à l'autre activité mObjetBundle.putString("choix", choix); Intent t = new Intent(fragmentActivity, Tableau.class); //permet d'appeler la nouvelle activité t.putExtras(mObjetBundle); fragmentActivity.startActivity(t); } }
Mais apparemment c'est pas vraiment comme ça que je dois faire vu l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 12-29 13:32:50.450: E/AndroidRuntime(1056): FATAL EXCEPTION: main 12-29 13:32:50.450: E/AndroidRuntime(1056): java.lang.NullPointerException 12-29 13:32:50.450: E/AndroidRuntime(1056): at android.content.ComponentName.<init>(ComponentName.java:75) 12-29 13:32:50.450: E/AndroidRuntime(1056): at android.content.Intent.<init>(Intent.java:3122) 12-29 13:32:50.450: E/AndroidRuntime(1056): at rapport.presse.cim.MyListViewItemListener.onItemClick(MyListViewItemListener.java:30) 12-29 13:32:50.450: E/AndroidRuntime(1056): at android.widget.AdapterView.performItemClick(AdapterView.java:292) 12-29 13:32:50.450: E/AndroidRuntime(1056): at android.widget.AbsListView.performItemClick(AbsListView.java:1058) 12-29 13:32:50.450: E/AndroidRuntime(1056): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2514) 12-29 13:32:50.450: E/AndroidRuntime(1056): at android.widget.AbsListView$1.run(AbsListView.java:3168) 12-29 13:32:50.450: E/AndroidRuntime(1056): at android.os.Handler.handleCallback(Handler.java:605) 12-29 13:32:50.450: E/AndroidRuntime(1056): at android.os.Handler.dispatchMessage(Handler.java:92) 12-29 13:32:50.450: E/AndroidRuntime(1056): at android.os.Looper.loop(Looper.java:137) 12-29 13:32:50.450: E/AndroidRuntime(1056): at android.app.ActivityThread.main(ActivityThread.java:4424) 12-29 13:32:50.450: E/AndroidRuntime(1056): at java.lang.reflect.Method.invokeNative(Native Method) 12-29 13:32:50.450: E/AndroidRuntime(1056): at java.lang.reflect.Method.invoke(Method.java:511) 12-29 13:32:50.450: E/AndroidRuntime(1056): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 12-29 13:32:50.450: E/AndroidRuntime(1056): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 12-29 13:32:50.450: E/AndroidRuntime(1056): at dalvik.system.NativeStart.main(Native Method)
Partager