是否可以在Widget點擊上啓動對話框,或者我必須在Widget上啓動一個活動,然後點擊對話框?Widget在點擊時啓動對話框
3
A
回答
-1
您可以在點擊一個小部件時啓動AlertDialog
。
更新:
添加以下代碼的onclick監聽器。
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
dialog.setMessage("Message");
dialog.show();
10
我相信你已經解決了這個問題,但無論如何我會寫在這裏,以防像我這樣的其他人登陸這個答案。
要通過單擊Widget來啓動對話框,您可以定義一個類似對話框樣式的活動,並在單擊該小部件時啓動它。
首先加入活動清單,讓我們把它DialogWidgetActivity
<activity
android:name=".DialogWidgetActivity"
android:theme="@android:style/Theme.Dialog"
...
/>
然後在你的WidgetProvider,姑且稱之爲MyWidgetProvider
widget的點擊綁定推出的活動
public class MyWidgetProvider extends AppWidgetProvider {
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
final int N = appWidgetIds.length;
// Perform this loop procedure for each App Widget that belongs to this
// provider
for (int i = 0; i < N; i++) {
int appWidgetId = appWidgetIds[i];
// Create an Intent to launch the activity-dialog
Intent intent = new Intent(context, DialogWidgetActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
// Get the layout for the App Widget and attach an on-click listener
// to it
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget);
views.setOnClickPendingIntent(R.id.widget_container, pendingIntent);
// Tell the AppWidgetManager to perform an update on the current app
// widget
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
請注意,此處我們已將活動的啓動綁定到對話框的widget_container元素上的單擊。您可以通過將widget_container id android:id="@+id/widget_container"
分配給小部件佈局的根元素來輕鬆實現此目的。
然後,您可以編寫您的活動對話框及其佈局,就像正常的全屏活動一樣。
我的消息來源是this answer和the Android documentation。
希望我幫助:)
相關問題
- 1. 當在Tab鍵被點擊時啓動對話框TabHost
- 2. 如何啓動「選擇文件」對話框時點擊javascript
- 3. JSFL:抑制/自動點擊對話框
- 4. 當點擊它時關閉對話框
- 5. 字對話框點擊
- 6. 任務在顯示對話框後啓動時啓動UI
- 7. 啓動時WPF顯示對話框
- 8. tiinymce下拉菜單點擊聚合物對話框時點擊
- 9. jQuery UI對話框:如何在外部點擊時關閉對話框?
- 10. 在GridView上打開對話框點擊
- 11. 等待對話框單擊以重新啓動活動
- 12. Wxpython在主框架啓動時顯示對話框
- 13. 點擊應用上QtQuick對話框按鈕關閉對話框
- 14. 對話框中的jQueryUI對話框輸入不可點擊
- 15. WiX中的新對話框,點擊返回跳過對話框
- 16. 對話框保存在Android中,啓動
- 17. Win32的對話框關閉在啓動
- 18. 警報對話框,在啓動onclicklistener
- 19. 如何在點擊事件後啓動會話超時
- 20. 啓用/禁用項目點擊對話框按鈕
- 21. jQuery對話框:在任何點拖動對話框
- 22. 從對話框啓動框架
- 23. 如何在點擊後退按鈕時僅關閉活動對話框,而不是背後的對話框?
- 24. 啓動android widget
- 25. 當點擊`btnCharge`時顯示layout_sharzh,點擊`btnUserInfo`時顯示layout_user_info(對話框)
- 26. Android - 我不能讓一個widget點擊來啓動一個intent
- 27. 工具/代碼在對話框上自動點擊確定
- 28. 在彈出的對話框中的按鈕上自動點擊
- 29. 如何在OSMdroid地圖上點擊POI時彈出對話框?
- 30. 如何在點擊地圖標記時彈出對話框?
我正在嘗試,但失敗,你有代碼,或一個例子的鏈接?謝謝。我一直在爲AppWidgetProvider的'onUpdate'方法設置未決意圖,我已經有了基本的'AlertDialog'準備好了,如果我的點擊有某種效果的話。 – Timbermar 2011-03-27 03:09:10
請檢查更新的答案。您可以根據您的要求進行修改。 – 2011-03-28 09:12:54
'android.view.WindowManager $ BadTokenException:無法添加窗口 - 標記null不適用於應用程序。所以沒有。投票下來。 – machei 2015-07-12 21:12:00