Наткнулся на этот вопрос в поиске моего собственного ответа, и хотя он не отвечает на мой вопрос, я подумал, что отвечу на этот вопрос.
Предполагая, что у вас уже есть файл макета для вашего виджета, test.xml
.
Теперь создайте новый макет, сохраните, например, в text_view_layout.xml
.В этом макете XML имеет следующее содержимое:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textAppearance="?android:attr/textAppearanceLarge" />
Вы только что создали макет с корневым представлением в виде текста.
Теперь в своем коде вы можете добавить к этому тексттекстовое представление выглядит так:
RemoteViews update = new RemoteViews(getPackageName(), R.layout.test);
for(int i = 0; i < 3; i++) {
RemoteViews textView = new RemoteViews(getPackageName(), R.layout.text_view_layout);
textView.setTextViewText(R.id.textView1, "TextView number " + String.valueOf(i));
update.addView(R.id.linearLayout1, textView);
}
mAppWidgetManager.updateAppWidget(mAppWidgetId, update);
Теперь вы только что создали три textView, все с текстом "TextView number 0" и т. д. *
Я уверен, что есть похожееответьте где-нибудь еще, но это как программно добавить textViews в appWidget.
RemoteViews API