1

RecyclerViewで新しいアイテムをクリックしたときにRecyclerViewを含むアクティビティがある場合は、RecyclerViewアクティビティに戻るときに、どのアイテムがクリックされたのかを表示する必要があります。 RecyclerViewアクティビティ、インテント後の終了アクティビティを無効にする

注:ユーザーがアイテムをクリックするとイメージビューが表示され、アイテムをチェックすると非表示になります。ユーザーがイメージビューをクリックすると、どのようなアイデアですか?

これは、あなたがこのようになめらか、位置が保存されているSharedPreferencesクリックされたビュー位置

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

に保存し、毎回ckeckすることができ、私の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 
} 
関連する問題