【发布时间】:2019-12-31 22:04:08
【问题描述】:
我想将数据从 RecyclerView 发送到 Activity,但是 RecyclerView 中 Arraylist 中的 Image Data 没有发送到 Activity。
我成功编译了代码,但是每当我打开应用并在 Recycleriew 中选择 1 项时,应用就会被强制关闭。
我希望在 Activity 中显示图像和描述数据,但应用程序总是被强制关闭。
片段类:
public class ShipFragment extends Fragment {
private View v;
private RecyclerView recyclerShip;
private ArrayList<Warship> shipList = new ArrayList<>();
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
v = inflater.inflate(R.layout.ship_fragment, container,false);
recyclerShip = (RecyclerView) v.findViewById(R.id.Recycler_id);
shipList.addAll(ShipDataRecycler.getShipList());
recyclerShip.setHasFixedSize(true);
showRecyclerShipList();
return v;
}
private void showRecyclerShipList() {
RecyclerAdapter recyclerAdapter;
recyclerAdapter = new RecyclerAdapter(shipList);
recyclerShip.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerShip.setAdapter(recyclerAdapter);
recyclerAdapter.setOnItemClickCallback(new RecyclerAdapter.OnItemClickCallback() {
@Override
public void onItemClick(Warship zListShip) {
showSelectedShip(zListShip);
}
});
}
private void showSelectedShip(Warship ship){
Intent swap = new Intent(getActivity(), Detail_item.class);
swap.putExtra(Detail_item.image,ship.getImges());
swap.putExtra(Detail_item.title, ship.getzTitle());
swap.putExtra(Detail_item.description, ship.getzDescription());
startActivity(swap);
}
}
活动类:
public class Detail_item extends AppCompatActivity {
private ImageView imgDetail;
private TextView titleDetail, descDetail;
private ArrayList<Warship> listWarship;
public static final String title = "Nama";
public static final String description = "deskripsi";
public static final String image = "foto";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail_item);
imgDetail = findViewById(R.id.profil_img_id);
titleDetail = findViewById(R.id.titleShip_id);
descDetail = findViewById(R.id.desc_id);
String imageShip = getIntent().getStringExtra(image);
String titleShip = getIntent().getStringExtra(title);
String descShip = getIntent().getStringExtra(description);
titleDetail.setText(titleShip);
imgDetail.setImageResource(Integer.parseInt(imageShip));
descDetail.setText(descShip);
}
}
崩溃日志:
java.lang.RuntimeException:无法启动活动 组件信息{com.kimino.azurlaneshipreview/com.kimino.azurlaneshipreview.Detail_item}: java.lang.NumberFormatException:空 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2706) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2767) 在 android.app.ActivityThread.-wrap12(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1514) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:163) 在 android.app.ActivityThread.main(ActivityThread.java:6205) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) 引起:java.lang.NumberFormatException:null 在 java.lang.Integer.parseInt(Integer.java:483) 在 java.lang.Integer.parseInt(Integer.java:556) 在 com.kimino.azurlaneshipreview.Detail_item.onCreate(Detail_item.java:38) 在 android.app.Activity.performCreate(Activity.java:6864) 在 >android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) >在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659)
【问题讨论】:
-
ship.getImges()返回什么?
标签: android android-studio android-intent android-recyclerview