是否可以在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. 如何在警報對話框中點擊按鈕時啓動新的活動?
- 4. wx按鈕點擊時只點擊一個對話框顯示對話框
- 5. 關閉jquery ui對話框時點擊了對話框
- 6. JSFL:抑制/自動點擊對話框
- 7. 當點擊它時關閉對話框
- 8. 如何點擊時關閉對話框?
- 9. 字對話框點擊
- 10. 當用戶點擊消息對話框「ok」按鈕時重新啓動代碼
- 11. 任務在顯示對話框後啓動時啓動UI
- 12. 單擊按鈕後在對話框中啓動活動
- 13. 啓動時的Android警報對話框
- 14. 啓動時WPF顯示對話框
- 15. tiinymce下拉菜單點擊聚合物對話框時點擊
- 16. jQuery UI對話框:如何在外部點擊時關閉對話框?
- 17. MvvM Model啓動對話框
- 18. 在Android中點擊對話框?
- 19. 在iframe上點擊打開對話框
- 20. 在GridView上打開對話框點擊
- 21. 在curstom對話框上點擊一下
- 22. 在列表視圖的OnClickListener中啓動自定義對話框點擊位置
- 23. 如何使用Selenium在Firefox中點擊「啓動應用程序」對話框?
- 24. 在EditText框中點擊時啓動活動
- 25. Wxpython在主框架啓動時顯示對話框
- 26. 等待對話框單擊以重新啓動活動
- 27. WiX中的新對話框,點擊返回跳過對話框
- 28. 對話框中的jQueryUI對話框輸入不可點擊
- 29. 點擊應用上QtQuick對話框按鈕關閉對話框
- 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