Как получить доступ к элементам домашнего экрана Widget
, поэтому я могу внести в них изменения, например, установить текст Button
? В моем AppWidgetProvider
«ы onReceive()
метода, который я пытаюсь установить текст Button
, который находится в моем виджете: для главного экранаНе удается обновить текст кнопки в виде виджета
@Override
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals(MainActivity.ACTION_CHANGE_BUTTONSTATE))
{
String state = intent.getExtras().getString("state");
Log.d("HomescreenWidget", "received broadcast for button state");
RemoteViews views = new RemoteViews(context.getPackageName(),
R.id.widgetButton);
views.setTextViewText(R.id.widgetButton, state);
ComponentName cn = new ComponentName(context,
HomescreenWidget.class);
AppWidgetManager.getInstance(context).updateAppWidget(cn, views);
}
super.onReceive(context, intent);
}
Моего виджет layout.xml
:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/widget_margin" >
<Button
android:id="@+id/playButton_Widget"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:minWidth="80dp"
android:text="@string/playButton" />
</RelativeLayout>
Я получаю Broadcast
, но затем мой Widget
показывает следующий текст: «Проблема с загрузкой виджета».
EDIT я нашел следующее сообщение в catlog:
W/AppWidgetHostView(135): updateAppWidget couldn't find any view, using error view
W/AppWidgetHostView(135): android.widget.RemoteViews$ActionException: can't find view: 0x7f0a0004
0x7f0a0004
мои Widget
«ы Button
. Что может быть причиной того, что его нельзя найти?
К сожалению просто хочу подтвердить вы хотите изменить некоторые представления в приложениях с главного экрана виджета? –
Я получил кнопку «Button», которая относится к «макету» рабочего стола «Widget». Когда эта кнопка нажата, я хочу изменить ее текстовую метку. Для этого мне нужна ссылка на него – wodzu
текстовая метка в виджетах рабочего стола? –