在寻找我自己的答案时偶然发现了这个问题,虽然这不能回答我的问题,但我想我会回答这个问题。
假设您已经有一个小部件的布局文件,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 number 0”等等......
我确信其他地方也有类似的答案,但这是如何以编程方式将 textView 添加到 appWidget 的方法。
远程查看 API https://developer.android.com/reference/android/widget/RemoteViews.html