Question de syntaxe pour Intent et passage en paramètre d'activité
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:
Code:
listViewMap[i].setOnItemClickListener(new MyListViewItemListener(mDataMap.get(i), getActivity()));
et donc ma classe MyListViewItemListener donne ça:
Code:
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);
}
} |
Je passe donc mon activité en paramètre pour pouvoir fournir celle-ci à la classe Intent.
Mais apparemment c'est pas vraiment comme ça que je dois faire vu l'erreur:
Code:
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) |