Bonjour,
j'essaie de faire un widget très simple qui lance une fenêtre de paramétrage lorsque l'on clique sur un bouton...le problème est que ca ne fonctionne pas après avoir retourné le programme et tenté plusieurs solutions. En fait mon Widget s'affiche avec mon bouton, mais lorque je clique dessus, rien ne se passe !
Ca donne ca :
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 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.monWidget" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/app_icon" android:label="@string/app_name"> <receiver android:name="com.example.android.monWidget.MonWidget" android:label="@string/widget_name"> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/mon_widget" /> </receiver> </application> <uses-permission android:name="android.permission.INTERNET" /> <uses-sdk android:minSdkVersion="3" /> </manifest>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/widget" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" style="@style/WidgetBackground"> <Button android:id="@+id/btn_de_test" android:text="@+string/btn_de_test" android:layout_width="fill_parent" android:layout_height="wrap_content"></Button> </LinearLayout>Si quelqu'un voit où est l'erreur car je ne pense pas qu'il y ait beaucoup à modifier.
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 public class MonWidget extends AppWidgetProvider { public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { final int N = appWidgetIds.length; for (int i=0; i<N; i++) { int appWidgetId = appWidgetIds[i]; RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.ma_page); PendingIntent peClick = PendingIntent.getBroadcast(context, 0, new Intent("BUTTON_CLICK"), 0); views.setOnClickPendingIntent(R.id.btn_de_test, peClick); appWidgetManager.updateAppWidget(appWidgetId, views); } } public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); if (intent.getAction().equals("BUTTON_CLICK")) { Intent i = new Intent(android.provider.Settings.ACTION_SETTINGS); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } } }
Merci beaucoup !
Frm
Partager