[英]How to launch a dialog box from a widget?
我無法在任何地方找到一個小部件在單擊時啟動對話框的情況。 你有什么想法?
我有這個代碼
public void onUpdate(Context c, AppWidgetManager appWidgetManager,int[] appWidgetIds) {
final int N = appWidgetIds.length;
AppWidgetManager mgr = AppWidgetManager.getInstance(c);
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];
RemoteViews views = new RemoteViews(c.getPackageName(), R.layout.widget_layout);
Intent fireDialog = new Intent(c,Execute.class);
Toast test=Toast.makeText(c.getApplicationContext(),"onUpdate",Toast.LENGTH_LONG);
test.show();
PendingIntent pendingIntent = PendingIntent.getActivity(c, appWidgetId, fireDialog, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.Button, pendingIntent);
Log.w(LOG_TAG,"Called");
mgr.updateAppWidget(appWidgetId, views);
}
}
我在這里假設“小部件”是指“app widget”,應用程序可以添加到用戶主屏幕的交互式元素。
應用小部件無法顯示Dialog
,因為只能通過Activity
完成。 但是,您的應用小部件可以通過startActivity()
啟動一個Activity
。 並且,您可以通過向您的元素添加android:theme="@android:style/Theme.Dialog"
來將您的活動主題看作對話框。
使用對話框主題進行活動,並調用它
<activity android:name=".DailyPillDialog" android:label="@string/app_name" android:theme="@android:style/Theme.Dialog">
您可以根據需要創建自定義AlertDialog 。 然后,你可以alertDialog.show()
從onClickListener
的其他部件(比如按鈕)的回調,顯示該對話框。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.