Bonjour,
je veux modifier la fonction du bouton menu, en lui attribuant un menu personnalisé.
Bonjour,
je veux modifier la fonction du bouton menu, en lui attribuant un menu personnalisé.
Ouais :
http://developer.android.com/guide/topics/ui/menus.html
Le plus simple c'est de créer un fichier XML dans /res/menu/.
Ensuite dans ton Activity, tu mets :
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 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.context_menu, menu); } @Override public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); switch (item.getItemId()) { case R.id.edit: editNote(info.id); return true; case R.id.delete: deleteNote(info.id); return true; default: return super.onContextItemSelected(item); } }
Keith Flint 1969 - 2019
ok, merci
et si je veux que ça soit valable pour toutes les activités de l'application
Tu peux créer une classe qu'extends Activity.
Dedans tu mets toutes les méthodes dont t'as besoin.
Ensuite toutes les Activities de ton application, extends ta nouvelle classe.
Par exemple tu créer une classe :
Dedans tu mets onCreateContextMenu, onContextItemSelected, etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part public class MyActivity extends Activity
Imaginons que t'as Activity1 et ben ça fera :
Code : Sélectionner tout - Visualiser dans une fenêtre à part public class Activity1 extends MyActivity
Keith Flint 1969 - 2019
ça me donne les erreurs suivantes
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 06-20 17:28:37.898: E/AndroidRuntime(473): FATAL EXCEPTION: main 06-20 17:28:37.898: E/AndroidRuntime(473): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{si.lydec.secure/si.lydec.secure.Connexion}: java.lang.NullPointerException 06-20 17:28:37.898: E/AndroidRuntime(473): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569) 06-20 17:28:37.898: E/AndroidRuntime(473): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 06-20 17:28:37.898: E/AndroidRuntime(473): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 06-20 17:28:37.898: E/AndroidRuntime(473): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 06-20 17:28:37.898: E/AndroidRuntime(473): at android.os.Handler.dispatchMessage(Handler.java:99) 06-20 17:28:37.898: E/AndroidRuntime(473): at android.os.Looper.loop(Looper.java:123) 06-20 17:28:37.898: E/AndroidRuntime(473): at android.app.ActivityThread.main(ActivityThread.java:3683) 06-20 17:28:37.898: E/AndroidRuntime(473): at java.lang.reflect.Method.invokeNative(Native Method) 06-20 17:28:37.898: E/AndroidRuntime(473): at java.lang.reflect.Method.invoke(Method.java:507) 06-20 17:28:37.898: E/AndroidRuntime(473): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 06-20 17:28:37.898: E/AndroidRuntime(473): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 06-20 17:28:37.898: E/AndroidRuntime(473): at dalvik.system.NativeStart.main(Native Method) 06-20 17:28:37.898: E/AndroidRuntime(473): Caused by: java.lang.NullPointerException 06-20 17:28:37.898: E/AndroidRuntime(473): at android.content.ContextWrapper.getPackageName(ContextWrapper.java:120) 06-20 17:28:37.898: E/AndroidRuntime(473): at android.content.ComponentName.<init>(ComponentName.java:75) 06-20 17:28:37.898: E/AndroidRuntime(473): at android.content.Intent.<init>(Intent.java:2702) 06-20 17:28:37.898: E/AndroidRuntime(473): at si.lydec.secure.GestionBoutons.<init>(GestionBoutons.java:14) 06-20 17:28:37.898: E/AndroidRuntime(473): at si.lydec.secure.Connexion.<init>(Connexion.java:14) 06-20 17:28:37.898: E/AndroidRuntime(473): at java.lang.Class.newInstanceImpl(Native Method) 06-20 17:28:37.898: E/AndroidRuntime(473): at java.lang.Class.newInstance(Class.java:1409) 06-20 17:28:37.898: E/AndroidRuntime(473): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 06-20 17:28:37.898: E/AndroidRuntime(473): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561) 06-20 17:28:37.898: E/AndroidRuntime(473): ... 11 more
Qu'est-ce qu'il y a la ligne 14 de GestionBoutons.java ?
Il y a quelque chose de NULL.
T'as créé quoi comme fichier xml dans res/menu/ ?
Keith Flint 1969 - 2019
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager