Android Widget Bundle getString 显示为空
Posted
技术标签:
【中文标题】Android Widget Bundle getString 显示为空【英文标题】:Android Widget Bundle getString showing null 【发布时间】:2014-04-16 20:28:04 【问题描述】:我正在尝试让一个小部件显示它通过意图接收的文本。
当我构建应用程序并在我的 Widget 类中使用断点来跟踪代码时,该类会毫无问题地接收字符串。在调试时,我将小部件添加到主屏幕并使用断点再次跟踪代码,但这次它显示字符串为空。
构建并运行应用程序 -> String = "Hello",添加小部件 -> String = null
我的活动课:
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 堆栈跟踪。 【参考方案1】:为什么不直接获取字符串呢?
intent.getStringExtra("artist");
【讨论】:
以上是关于Android Widget Bundle getString 显示为空的主要内容,如果未能解决你的问题,请参考以下文章