1
我试图让一个小部件显示它通过意图接收到的文本。Android Widget Bundle getString显示null
当我构建应用程序并在我的Widget类中使用断点来跟随代码时,类将接收到没有任何问题的字符串。在调试时,我将小部件添加到主屏幕并使用断点,我再次跟着代码,但是这次它显示字符串为空。
编译和运行应用程序 - >字符串= “你好”,添加小工具 - >字符串=空
我的动态类:
Intent intent = new Intent(this, ArtistWidget.class);
String test = "Hello";
Bundle extras = new Bundle();
extras.putString("artist", test);
intent.putExtras(extras);
sendBroadcast(intent);
在我的窗口小部件类:
public class ArtistWidget extends AppWidgetProvider
{
private ArrayList<JSONObject> artistList = new ArrayList<JSONObject>();
private String data;
RemoteViews remoteViews;
@Override
public void onReceive(Context context, Intent intent) {
data = intent.getStringExtra("artist");
super.onReceive(context, intent);
}
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
ComponentName artistWidget;
remoteViews = new RemoteViews(context.getPackageName(), R.layout.artist_widget);
artistWidget = new ComponentName(context, ArtistWidget.class);
remoteViews.setTextViewText(R.id.widget_textview, "T" + data + "D");
appWidgetManager.updateAppWidget(artistWidget, remoteViews);
}
在我尝试的onreceive功能中:
getPrevData = intent.getExtras();
data = getPrevData.getString("artist"); //Crashes here
但是当我把这个小部件放在主屏幕上时它崩溃了。
请包括logcat堆栈跟踪。 – PearsonArtPhoto