如何在点击android小部件按钮时调用任何类函数?

时间:2011-08-02 10:18:24

标签: android widget

我已经定义了一个App Widget(AppWidgetProvider等),我想为App Widget中的一个按钮的onClick编写一个ad hoc程序。该文档描述了如何为App Widget扩展布局以及如何在按钮上设置特定操作(请参阅RemoteViews.setOnClickPendingIntent()),但我看不到编写临时OnClickListener的方法( )按照我们为“活动”中的按钮所做的方式按钮。

3 个答案:

答案 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步。