我仍然是一个菜鸟,只能通过文档找不到解决方案 . 我有一个视图作为按钮的小部件,需要在单击视图时启动活动 .
<LinearLayout android:id="@+id/config"
android:paddingLeft="14dp" android:paddingTop="3dp" android:paddingBottom="3dp" android:layout_margin="5dp"
android:layout_alignParentRight="true" android:background="@drawable/config_button"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:clickable="true" android:gravity="center">
<TextView
android:text="..." android:rotation="90" android:textColor="#ffffffff" android:textSize="20sp"
android:layout_width="wrap_content" android:clickable="true" android:gravity="center"
android:layout_height="wrap_content" />
</LinearLayout>
我知道窗口小部件中的简单Intent,PendingIntent和setOnClickPendingIntent()不起作用,我必须以某种方式使用setPendingIntentTemplate()和setOnClickFillInIntent(),但我不知道如何 .
现在我有这个,这当然不起作用:
Intent intent = new Intent(context, ConfigActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.ror_appwidget);
views.setPendingIntentTemplate(R.id.config, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
我在这里缺少什么,我应该如何使用setOnClickFillInIntent方法?谢谢你的帮助 .
1 回答
首先,当您在窗口小部件上有ListView并希望处理ListView项目的点击时,您只能将setOnClickFillInIntent ALONG与setPendingIntentTemplate一起使用 . 但这不是你的情况 .
我将举例说明如何在按钮上实现简单的点击事件并打开一个活动 .
这应该足以满足您的需求 .
但非常重要的是在清单文件中声明您的小部件:
res / xml文件夹中的小部件信息提供程序文件(widget_provider_info.xml):
这有帮助吗?
干杯,迈克