Android Widget Popup

时间:2012-04-27 13:02:57

标签: android android-widget popupwindow android-alertdialog

我想在我的小部件(AppWidgetProvider)中创建一个带有textview的弹出窗口,我想在底部的两个按钮“Update”和“Close”。 我尝试使用AlertDialog,但它崩溃了小部件。

AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.setMessage("Sample text")
                   .setCancelable(false)
                   .setPositiveButton("Update", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                           CallUpdate(context);
                       }
                   })
                   .setNegativeButton("Close", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();
                       }
                   });
            builder.show();

我希望能够使用跨文本。

感谢。

2 个答案:

答案 0 :(得分:2)

App Widget可以支持以下布局类:

FrameLayout
LinearLayout
RelativeLayout

以下小部件类:

AnalogClock
Button
Chronometer
ImageButton
ImageView
ProgressBar
TextView
ViewFlipper
ListView
GridView
StackView
AdapterViewFlipper

因此您无法从AlertDialog展示AppWidgetProvider。您可以在按钮单击时启动一个看起来像alertDialog的动作。

要在主屏幕小工具上启动活动,请点击以查看这些帖子:

Launching activity from widget

How to launch activity from android home screen widget

答案 1 :(得分:1)

您无法在AlertDialog中显示AppWidgetProvider。您需要创建一个Activity,然后通过startActivity()使用它。如果您愿意,可以theme the activity to look like a dialog