是否可以在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