【发布时间】:2015-07-12 21:35:15
【问题描述】:
我有一个带有列表视图的小部件。每当用户从列表视图中按下一个项目时,我都想接收在 Widget 列表视图的适配器中编译的 Parcelable 对象。
到目前为止一切正常,除了我无法接收 Parcelable 对象(其他一切正常)
适配器:
@Override
public RemoteViews getViewAt(int position) {
...
Intent fillIntent = new Intent();
fillIntent.putExtra("info", info); //info is a parcelable object
fillIntent.setData(Uri.parse(fillIntent.toUri(Intent.URI_INTENT_SCHEME)));
listViewItem.setOnClickFillInIntent(R.id.widget_listview_item, fillIntent);
...
}
提供者:
@Override
public void onReceive(Context context, Intent intent){
...
else if(intent.getAction().equals(ACTION_CLICK_LISTITEM)){
Info info = intent.getParcelableExtra("info");
// show details
if(info != null){
Intent startIntent = new Intent(context, DetailActivity.class);
startIntent.putExtra("info", info);
startIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startIntent.setData(Uri.parse(startIntent.toUri(Intent.URI_INTENT_SCHEME)));
context.startActivity(startIntent);
}else{
Log.i(Constants.LOG_TAG, "info is null.");
}
}
...
}
我总是记录“信息为空。”...
注意:将 Info 类型的对象作为 parcelables 发送到其他活动在我的应用程序中工作得很好。我只在发送 parcelable 对象和 setOnClickFillInIntent 时遇到问题。
任何帮助表示赞赏。
【问题讨论】:
-
检查您的 logcat 并发布您看到的任何错误。
标签: android listview android-intent android-listview parcelable