1

RecyclerView에 새 항목을 클릭 할 때 RecyclerView가 포함 된 활동이 있습니다. 내 문제는 RecyclerView 활동으로 돌아갈 때입니다. 어떤 항목을 클릭했는지 표시해야하므로 끝내야합니다. RecyclerView 액티비티,의도 이후 비활성 활동을 비활성화합니다.

참고 : 사용자가 이미지 뷰를 사용하여 표시하고 숨기려면 체크 항목을 클릭하면 사용자가 이미지 뷰를 클릭하면 어떤 생각이 나나요?

이 당신은 다음과 같이 매끄러운, 위치가 저장되어 SharedPreferences 클릭 뷰 위치

editor.putInt("SAVED_CLICKED_ITEM", getPosition()); 

에 저장하고 모든 시간을 체크 인하 할 수 내 RecyclerView 어댑터

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);}}} 
+0

선택한 값을 sharedpreference 또는 임의의 목록에 저장하십시오 (여러 값의 경우 더 쉽습니다). y의 onresume()은 선택된 값으로 목록을 표시합니다. – Nilabja

답변

0

입니다 :

SharedPreferences shared = context.getSharedPreferences(chiliSharedpreferences, MODE_PRIVATE); 
int position = shared.getInt("SAVED_CLICKED_ITEM", getPosition()); 
if (position == getPosition()) { 
    // do what you want 
} 
관련 문제