2012-01-10 3 views
1

Я разработал виджет для Android с целью щелчка по значку текстового виджета. Для этого я установил действие, и я попробовал метод OnReceive action. Это код:
Изменить значок на onReceive метод - виджет Android

@Override 
    public void onReceive(Context context, Intent intent) { 
     if (intent.getAction().equals(ACTION_WIDGET_NOTIF)) { 
      Bundle extras = intent.getExtras(); 
      int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID); 
      RemoteViews controles = new RemoteViews(context.getPackageName(), 
        R.layout.widgetcuatroxuno); 
      controles.setImageViewResource(R.id.btt, 
        R.drawable.ic_launcher_new); 
      AppWidgetManager.getInstance(context).updateAppWidget(appWidgetId, controles); 
     } else { 
      super.onReceive(context, intent); 
     } 

    } 

Я знаю, что нужно AppWidgetManager обновить элементы управления виджета, но это не удалось. Как я могу выполнить свою цель? Извините за мой английский. Большое спасибо за все.

+0


если кто-то есть такая же проблема, я нашел решение: @Override \t общественного недействительного OnReceive (контекст Контекста, Намерение намерения) { \t \t RemoteViews управления = новые RemoteViews (context.getPackageName(), \t \t \t \t R.layout.widget); \t \t, если (intent.getAction() равно (ACTION_WIDGET_CHANGE).) { \t \t \t control.setImageViewResource (R.id.bttn, \t \t \t \t \t R.drawable.ic_launcher_new); \t \t} else { \t \t super.onReceive (контекст, намерение); \t \t} \t \t ComponentName cn = new ComponentName (context, Widget.class); \t \t AppWidgetManager.getInstance (контекст) .updateAppWidget (cn, control); \t} –

ответ

3
RemoteViews control = new RemoteViews(context.getPackageName(), 
        R.layout.widget); 
      control.setTextViewText(R.id.textview1, "ExampleText"); 

      ComponentName cn = new ComponentName(context, 
        ButtonWidget.class); 
      AppWidgetManager.getInstance(context).updateAppWidget(cn, 
        control); 

Этот продукт работает в OnReceive(), спасибо большое!

+0

Это решение прекрасно работает. –

Смежные вопросы