如何在widget中的TextView上设置文本?

时间:2014-12-27 16:10:57

标签: java android textview android-appwidget

在我的应用程序中,我想在单击按钮后将“setText”设置为TextView。但是小部件崩溃了!并且文本没有改变我知道我的按钮点击它工作正常。但是当我试图运行“setSomeText();”应用程序崩溃的方法。 我认为原因是因为我没有在“OnUpdate”Override方法中做到这一点。 这是我的代码:

public class WidgetClock extends AppWidgetProvider{


    public   RemoteViews views;


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


        for (int i = 0; i < appWidgetIds.length; i++) {

            views = new RemoteViews(context.getPackageName(), R.layout.widget_clock);

            Intent intent = new Intent("enterAction").addCategory("enterAction");
            PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
            views.setOnClickPendingIntent(R.id.bEnter_Widget, pendingIntent);

            appWidgetManager.updateAppWidget(appWidgetIds[i], views);
        }

    }


    @Override
    public void onReceive(Context context, Intent intent) {
        final String action = intent.getAction();
        System.out.println("action:" + action);

        if ("enterAction".equals(action)) {

            System.out.println("views = " + views);
        if(views != null){
                    views.setTextViewText(R.id.txWorkName_widget, "Works!");

        }

        } else {
            super.onReceive(context, intent);

        }
    }


}

我将“观看次数”视为空。

感谢帮助者

0 个答案:

没有答案