是否可以从小部件按钮打开自定义对话框?我用一个按钮创建了一个小部件。用this教程,如果我点击ButtonP1烤面包味精出现。但我想要一个自定义对话框出现。本教程中还有一个针对按钮的示例,但对于我的自定义对话框,它不起作用,但是如果我想打开一个活动并且它工作正常。 我想要一个自定义对话框,当用户点击小部件上的一个按钮时出现。Android小部件按钮自定义对话框
下面是这段代码Main.class是一种活动:
public class HelloWidget extends AppWidgetProvider {
public static String ACTION_WIDGET_CONFIGURE = "ConfigureWidget";
public static String ACTION_WIDGET_RECEIVER = "ActionReceiverWidget";
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
context.startService(new Intent(context, UpdateService.class));
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widgetmain);
Intent configIntent = new Intent(context, Main.class);
configIntent.setAction(ACTION_WIDGET_CONFIGURE);
PendingIntent configPendingIntent = PendingIntent.getActivity(context, 0, configIntent, 0);
remoteViews.setOnClickPendingIntent(R.id.ButtonP1, configPendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
}
当我改变Main.class到CustomizeDialog.class,没有任何反应。
的CustomizeDialog.java看起来像这样简单地说:
public class CustomizeDialog extends Dialog implements OnClickListener {
Activity mActivity;
public CustomizeDialog(Activity activity) {
super(activity);
mActivity = activity;
...
}
@Override
public void onClick(View v) {
if (v == okButton)
{
dismiss();
}
if (v == cancelButton)
{
dismiss();
}
}
}
编辑2011年6月21日
谢谢给你们,我能叫的活动与FrameLayout里,这几乎什么我想了。不过,我想用customdialog要做到这一点,但我使用的代码,当我在微件按钮单击它并未显示:
Intent configIntent = new Intent(context, CustomizeDialog.class);
configIntent.setAction(ACTION_WIDGET_CONFIGURE);
PendingIntent configPendingIntent = PendingIntent.getActivity(context, REQUEST_CODE_THREE, configIntent, 0);
remoteViews.setOnClickPendingIntent(R.id.ButtonP3, configPendingIntent);
如果我改变CustomizeDialog.class到Main.class,这是一项活动,它工作正常。
请在上面找到CustomDialog.class的结构。
我不想打开活动。我只想在用户点击小部件按钮时出现一个自定义对话框。 – erdomester 2011-06-16 20:12:11
自从我开发了一个小部件以来已经有一段时间了,但我记得的是,小部件对于您可以做的事情的限制性很强。从我所见过的所有窗口小部件中,像弹出窗口一样通过活动执行操作 – 2011-06-16 23:09:56
没有人知道解决方案吗? Idk如何从一个活动开始弹出窗口或sg,而不会使活动出现 – erdomester 2011-06-18 12:42:52