findViewById未定义类型<my class =“”name =“”is =“”here =“”>在AppWidgetProvider中</my>

时间:2011-10-27 17:34:36

标签: android onclick listener undefined android-appwidget

我可以为findViewById使用等效的代码行吗? Eclipse告诉我,AppWidgetProvider中的类型未定义。

我正在尝试为按钮设置点击处理程序。

public class WidgetProvider extends AppWidgetProvider implements OnClickListener{

    final Button buttonOnOff = (Button) findViewById(R.id.button_on_off);

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager,
        int[] appWidgetIds) {

        /*
         * Set Click Listener
         */
        buttonOnOff.setOnClickListener(this);

        /*
         * The following 3 lines of code are required to display the widget on the screen.
         */
        RemoteViews remoteView = new RemoteViews(context.getPackageName(),
            R.layout.appwidget_layout);

        ComponentName myWidget = new ComponentName(context,
            WidgetProvider.class);
        appWidgetManager.updateAppWidget(myWidget, remoteView);

    }

    @Override
    public void onClick(View v) {
    }
}

1 个答案:

答案 0 :(得分:1)

当您使用AppWidgets时,代码的工作方式会有所不同。基本上你需要使用RemoteView而不是传统的Buttons和findViewByIds。有关如何编写AppWidgets的链接,请参阅此related answer。特别是developer.com教程的两个链接。