当应用程序启动并且用户单击RecyclerView列表中的项目时,将创建DetailView,并且一切正常。如果用户点击后退按钮返回ListView,它会正常加载。一旦用户再次点击该项目,我的代码就不会重新运行,并且所有内容都不会像应该的那样加载。 DetailView加载但与布局文件相同而没有我的代码更新它。我需要知道的是当用户在RecyclerView中重新打开一个Item时,我可以做些什么来重新初始化所有内容。调用哪些方法来初始化项目以及在哪里可以查找更多信息?谢谢你的帮助!
onCreateViewHolder():
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_list_content, parent, false);
return new ViewHolder(view);
}
onBindViewHolder:
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
holder.mItem = mValues.get(position);
holder.mIdView.setText(mValues.get(position).id);
holder.mContentView.setText(mValues.get(position).content);
holder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mTwoPane) {
Bundle arguments = new Bundle();
arguments.putString(ItemDetailFragment.ARG_ITEM_ID, holder.mItem.id);
ItemDetailFragment fragment = new ItemDetailFragment();
fragment.setArguments(arguments);
getSupportFragmentManager().beginTransaction()
.replace(R.id.item_detail_container, fragment)
.commit();
} else {
Context context = v.getContext();
Intent intent = new Intent(context, ItemDetailActivity.class);
intent.putExtra(ItemDetailFragment.ARG_ITEM_ID, holder.mItem.id);
context.startActivity(intent);
}
}
});
}