【发布时间】:2018-01-24 11:18:20
【问题描述】:
如何将数据从一个活动发送到另一个活动 recyclerview 适配器。 我正在使用改造 2 获取数据并通过 put extra 发送它,这里出现错误无法沼泽
private void callApigetCategoryItems() {
ApiInterface apiService = ApiClient.getClient().create(ApiInterface.class);
Call<CategoryResponse> call = apiService.getCategoryResult(1);
call.enqueue(new Callback<CategoryResponse>() {
@Override
public void onResponse(Call<CategoryResponse> call, Response<CategoryResponse> response) {
List<ProductsItem> products = response.body().getData().getProducts();
for (int i = 0; i < products.size(); i++) {
String stockCategoryName = products.get(i).getStockCategoryName();
Toast.makeText(HomeActivity.this, "" + stockCategoryName, Toast.LENGTH_SHORT).show();
Intent intent = new Intent(getApplicationContext(), SearchActivity.class);
intent.putExtra("category", (Serializable) products);
startActivity(intent);
}
}
@Override
public void onFailure(Call<CategoryResponse> call, Throwable t) {
Toast.makeText(HomeActivity.this, "" + t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
List<ProductsItem> productsItemList = (List<ProductsItem>) getIntent().getSerializableExtra("category");
错误:进程:com.adverscribe.bookyourstock,PID:18514 java.lang.RuntimeException:包裹:无法封送值 ProductsItem{stock_division_id = '0',cover_status = '1',listing_image_color_id = '3',listing_id = '4',listing_detail_id = '3',stock_fit_id = '0',frabic_blend_mix = '',seller_brand_id = '0',listing_size_id = '4',vendor_style_no = 'ABCD',stock_size_status = '1',style_discription = 'AV',total_stock = '2',size_created_date = '2018-01-12 12:25:48',stock_color_id = '1',stock_pattern_id = '0',stock_subcategory_status = '1',listing_status = '0',seller_id = '1',product_usp = '',stock_color_status = '1',stock_size_name = 'M',listing_updated_date = '2018-01-23 09:20:48',stock_category_name = 'T 恤',stock_size_id = '4',stock_division_name = '男士',mrp = '550',stock_quantity = '1',stock_sleeve_id = '0',stock_subcategory_id = '1',stock_fabric_id = '0',stock_start_date = '2017-12-22',stock_subcategory_name = 'Polo',active_status = '0',color_id = '1',stock_color_name = '白色',stock_wash_id = '0',image_path = 'assets/1/image_01232018162048952300.png',stock_division_status = '1',stock_end_date = '2017-12-22',size_update_date = '2018-01-12 12:25:48',stock_category_id = '1',created_date = '2018-01-12 12:01:11',updated_date = '2018-01-12 12:01:11',stock_category_status = '1',fob_cost = '520',seller_location_id = '1',listing_created_date = '2018-01-23 09:20:48'} 在 android.os.Parcel.writeValue(Parcel.java:1477) 在 android.os.Parcel.writeList(Parcel.java:812) 在 android.os.Parcel.writeValue(Parcel.java:1424) 在 android.os.Parcel.writeArrayMapInternal(Parcel.java:724) 在 android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1408) 在 android.os.Bundle.writeToParcel(Bundle.java:1157) 在 android.os.Parcel.writeBundle(Parcel.java:764) 在 android.content.Intent.writeToParcel(Intent.java:8762) 在 android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3172) 在 android.app.Instrumentation.execStartActivity(Instrumentation.java:1520) 在 android.app.Activity.startActivityForResult(Activity.java:4318) 在 android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54) 在 android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:67) 在 android.app.Activity.startActivityForResult(Activity.java:4276) 在 android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:720) 在 android.app.Activity.startActivity(Activity.java:4615) 在 android.app.Activity.startActivity(Activity.java:4583) 在 com.adverscribe.bookyourstock.activities.HomeActivity$3.onResponse(HomeActivity.java:119) 在 retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70) 在 android.os.Handler.handleCallback(Handler.java:751) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6349) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:893) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:783)
【问题讨论】: