Android 禁用意图后的完成活动
当单击RecyclerStart new活动中的项目时,我的活动包含RecyclerView,我的问题是当返回到RecyclerView活动时,我需要显示单击的项目,因此我必须停止完成RecyclerView活动 注意:当用户在项目中单击时,我使用图像视图显示和隐藏来检查项目,当用户单击图像视图显示时,有什么想法吗 这是我的RecyclerView适配器Android 禁用意图后的完成活动,android,android-intent,android-activity,android-recyclerview,Android,Android Intent,Android Activity,Android Recyclerview,当单击RecyclerStart new活动中的项目时,我的活动包含RecyclerView,我的问题是当返回到RecyclerView活动时,我需要显示单击的项目,因此我必须停止完成RecyclerView活动 注意:当用户在项目中单击时,我使用图像视图显示和隐藏来检查项目,当用户单击图像视图显示时,有什么想法吗 这是我的RecyclerView适配器 public class ScreenRecyclerAdapter extends RecyclerView.Adapter<
public class ScreenRecyclerAdapter extends RecyclerView.Adapter<ScreenRecyclerAdapter.ViewHolder> {
Context context;
String image_list[];
List<ImageView> items;
String chiliSharedpreferences = "chiliSharedpreferences";
public ScreenRecyclerAdapter(String[] image_list, Context context){
super();
this.image_list = image_list;
this.context = context;
this.items = new ArrayList<>();}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.screen_items, parent, false);
ViewHolder viewHolder = new ViewHolder(v);
return viewHolder;}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
holder.location_text_view.setText(image_list[position]);
items.add(holder.check_image_view);
}
@Override
public int getItemCount() {
return image_list.length;
}
class ViewHolder extends RecyclerView.ViewHolder{
ImageView check_image_view ;
TextView location_text_view;
LinearLayout linear;
CardView loactionCardView;
public ViewHolder(View itemView) {
super(itemView);
check_image_view = (ImageView) itemView.findViewById(R.id.check_image_view);
location_text_view = (TextView) itemView.findViewById(R.id.location_text_view);
linear = (LinearLayout) itemView.findViewById(R.id.linear);
loactionCardView = (CardView) itemView.findViewById(R.id.cv);
loactionCardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MakeAllInvisbale();
check_image_view.setVisibility(View.VISIBLE);
Intent intent = new Intent(context,MainActivity.class);
context.startActivity(intent);
SharedPreferences shared = context.getSharedPreferences(chiliSharedpreferences, MODE_PRIVATE);
SharedPreferences.Editor editor = shared.edit();
editor.putString("screenId","id1");
editor.commit();
}
});}}
private void MakeAllInvisbale() {
for(ImageView item : items) {
item.setVisibility(View.INVISIBLE);}}}
公共类ScreenRecyclerAdapter扩展了RecyclerView.Adapter{
语境;
字符串图像_列表[];
清单项目;
字符串chiliSharedReferences=“chiliSharedReferences”;
公共ScreenRecyclerAdapter(字符串[]图像列表,上下文){
超级();
this.image\u list=image\u list;
this.context=上下文;
this.items=new ArrayList();}
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图v=LayoutInflater.from(parent.getContext()).flate(R.layout.screen_项,parent,false);
视窗夹持器视窗夹持器=新视窗夹持器(v);
返回viewHolder;}
@凌驾
公共无效onBindViewHolder(最终视图持有人,最终整型位置){
holder.location\u text\u view.setText(image\u list[position]);
项目。添加(支架。检查图像\u视图);
}
@凌驾
public int getItemCount(){
返回图像_list.length;
}
类ViewHolder扩展了RecyclerView.ViewHolder{
图像视图检查图像视图;
文本视图位置\文本\视图;
线性布局线性;
CardView loactionCardView;
公共视图持有者(视图项视图){
超级(项目视图);
check\u image\u view=(ImageView)itemView.findviewbyd(R.id.check\u image\u view);
location\u text\u view=(TextView)itemView.findViewById(R.id.location\u text\u view);
线性=(LinearLayout)itemView.findViewById(R.id.linear);
loactionCardView=(CardView)itemView.findViewById(R.id.cv);
loactionCardView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
MakeAllInvisbale();
检查\u image\u view.setVisibility(view.VISIBLE);
意向意向=新意向(上下文,MainActivity.class);
背景。开始触觉(意图);
SharedReferences shared=context.getSharedReferences(ChiliSharedReferences,MODE_PRIVATE);
SharedReferences.Editor=shared.edit();
putString(“screenId”、“id1”);
commit();
}
});}}
私有void MakeAllInvisbale(){
对于(ImageView项目:项目){
item.setVisibility(View.INVISIBLE);}
您可以保存到SharedReferences
单击的查看位置
editor.putInt("SAVED_CLICKED_ITEM", getPosition());
并且每次都是ckeck保存位置,smth如下:
SharedPreferences shared = context.getSharedPreferences(chiliSharedpreferences, MODE_PRIVATE);
int position = shared.getInt("SAVED_CLICKED_ITEM", getPosition());
if (position == getPosition()) {
// do what you want
}
您可以保存到
SharedReferences
单击的查看位置
editor.putInt("SAVED_CLICKED_ITEM", getPosition());
并且每次都是ckeck保存位置,smth如下:
SharedPreferences shared = context.getSharedPreferences(chiliSharedpreferences, MODE_PRIVATE);
int position = shared.getInt("SAVED_CLICKED_ITEM", getPosition());
if (position == getPosition()) {
// do what you want
}
将所选值存储在SharedReference或任何列表中(多个值更容易),并在活动的onresume()中显示包含所选值的列表将所选值存储在SharedReference或任何列表中(多个值更容易),并在活动的onresume()中显示包含所选值的列表