RemoteView class 的 setTextviewText() 方法未设置任何文本
setTextviewText() method of RemoteView class not setting any text
我在应用程序中使用 GridView widget.I 想要在 widget.I 图像(应用程序图标)中显示图像和每个图像下方的文本;但是文本没有得到 displayed.I 我正在使用 setTextViewText() 来设置文本。
WidgetViewsFactory.java 的 getViewAt() 方法 class:
public RemoteViews getViewAt(int position) {
RemoteViews row = new RemoteViews(mContext.getPackageName(), R.layout.widget_list_row);
ApplicationInfo data = null;
Bundle extras = new Bundle();
Intent fillInIntent = new Intent(mContext, NotificationReceiverIntent.class);
PendingIntent pendingLaunchIntent;
try {
packageName = appsPackageNameList.get(position).split(";;");
data = packageManager
.getApplicationInfo(packageName[0], 0);
if (null != data) {
Bitmap icon = CommonCode.getBitmapFromIcon(data.loadIcon(packageManager));
row.setImageViewBitmap(R.id.img_widget, icon);
Log.e("count", packageName[1]);
row.setTextViewText(R.id.txt_notification_count, packageName[1]); //setting text
}
} catch (final PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return (row);
}
我正在打印给我正确值的文本(数组值)。
那么我应该如何设置我的小部件中的文本?
在深入研究我的代码后,我得到了答案。
小部件中 TextView 的默认颜色是白色,所以我简单地更改了
我的文本颜色从 xml 变为黑色并且有效!!
最后要添加文本,您必须使用
appWidgetManager.updateAppWidget(appWidgetId, row);
我在应用程序中使用 GridView widget.I 想要在 widget.I 图像(应用程序图标)中显示图像和每个图像下方的文本;但是文本没有得到 displayed.I 我正在使用 setTextViewText() 来设置文本。
WidgetViewsFactory.java 的 getViewAt() 方法 class:
public RemoteViews getViewAt(int position) {
RemoteViews row = new RemoteViews(mContext.getPackageName(), R.layout.widget_list_row);
ApplicationInfo data = null;
Bundle extras = new Bundle();
Intent fillInIntent = new Intent(mContext, NotificationReceiverIntent.class);
PendingIntent pendingLaunchIntent;
try {
packageName = appsPackageNameList.get(position).split(";;");
data = packageManager
.getApplicationInfo(packageName[0], 0);
if (null != data) {
Bitmap icon = CommonCode.getBitmapFromIcon(data.loadIcon(packageManager));
row.setImageViewBitmap(R.id.img_widget, icon);
Log.e("count", packageName[1]);
row.setTextViewText(R.id.txt_notification_count, packageName[1]); //setting text
}
} catch (final PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return (row);
}
我正在打印给我正确值的文本(数组值)。 那么我应该如何设置我的小部件中的文本?
在深入研究我的代码后,我得到了答案。 小部件中 TextView 的默认颜色是白色,所以我简单地更改了 我的文本颜色从 xml 变为黑色并且有效!!
最后要添加文本,您必须使用
appWidgetManager.updateAppWidget(appWidgetId, row);