我已经定义了一个App Widget(AppWidgetProvider
等),我想为App Widget中的一个按钮的onClick
编写一个ad hoc程序。该文档描述了如何为App Widget扩展布局以及如何在按钮上设置特定操作(请参阅RemoteViews.setOnClickPendingIntent()
),但我看不到编写临时OnClickListener
的方法( )按照我们为“活动”中的按钮所做的方式按钮。
答案 0 :(得分:1)
如果你问如何从另一个类调用方法然后将该方法设置为静态,如果没有,那么请详细说明你的问题。
如果您要求如何设置OnClicklistener over小部件,请尝试以下方法:
Yourbutton.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
}
};
答案 1 :(得分:1)
简短的回答:你做不到。 App Widgets是轻量级的 - Android不希望App Widgets运行ad hoc代码,因为该代码可能会降低App Widget框架的速度。相反,AppWidgetProviders应该完成App Widgets的工作。 AppWidgetProvider和AppWidget之间的通信是:a)提供者可以使用新布局更新窗口小部件; b)该布局的元素可以发送意图,AppWidgetProvider或其他Android组件可以拦截和处理这些意图。
请参阅Adding behavior to individual items以获取AppWidgetProvider的示例,该AppWidgetProvider定义从其App Widget拦截的自定义Intent。
@Shubh:我编辑了您的原始问题以使其更清晰 - 如果您喜欢编辑,则需要允许编辑以便其他人可以看到它。
答案 2 :(得分:0)
参见this documentation的第4步。