java - 如何在android studio中使用parcelable在活动之间传递数据
问题描述
我有一个 recyclerview 显示电影列表,我希望当单击的项目电影可以使用 parcelable 将数据传递给详细信息
这是我的 viewHolderAdapter
public class MovieVHolder extends RecyclerView.ViewHolder {
TextView mTxtTitleMovie, mTxtDescriptionMovie, mTxtDateMovie;
ImageView mImgPosterMovie;
public MovieVHolder(@NonNull final View itemView) {
super(itemView);
mTxtTitleMovie = itemView.findViewById(R.id.txt_title_movie);
mTxtDescriptionMovie = itemView.findViewById(R.id.txt_desc_movie);
mTxtDateMovie = itemView.findViewById(R.id.txt_date_movie);
mImgPosterMovie = itemView.findViewById(R.id.img_movie);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(context, DetailActivity.class);
context.startActivity(i);
}
});
}
public void bind(ListMovieEntity listMovieEntity) {
mTxtTitleMovie.setText(listMovieEntity.getMovieTittle());
mTxtDescriptionMovie.setText(listMovieEntity.getMovieDescription());
mTxtDateMovie.setText(listMovieEntity.getMovieDate());
Glide.with(context)
.load("https://image.tmdb.org/t/p/w185/"+listMovieEntity.getMoviePosterPath())
.into(mImgPosterMovie);
}
}
我在模型类中添加了 parcelable
解决方案
像这样改变itemviewclick
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(context, DetailActivity.class);
//addthis i.putExtra(DetailActivity.MOVIE, entListMovie.get(getPosition()));
context.startActivity(i);
}
});
并在细节上像这样
添加这个
public static final String MOVIE = "movie";
在方法 onCreate() 添加这个
YourList yourList = getIntent().getParcelableExtra(MOVIE);
之后,只需设置数据
textview.setText(yourList.getBlaBla());
推荐阅读
- hash - 在 Spring Security 5 中的 MessageDigestPasswordEncoder 中设置自定义盐字符串
- r - 如何按R中的列计算异常值?
- r - 在 R 中解释绘图(auto.arima)
- win-universal-app - 在转换时通过 DesktopAppConvertor 读取注册表值
- sap - 从单独的日期和时间 int 创建时间戳
- css - 我应该使用 fontawesome-free 还是 angular-fontawesome
- facebook - Error: A valid Facebook app id must be set in the AndroidManifest.xml
- python - 是否可以导入模块并在导入模块的上下文中执行所有操作?
- javascript - 在更改年份月份时以打开状态显示引导下拉菜单
- c# - 将整数值从数据库转换为文本框最大长度