2017-12-15 37 views
1

IはRecyclerViewはImageViewのとRecyclerViewAdapterの各行layout.In ViewHolderためのTextViewを有する持って、私はそれがアイテムのいずれかを示すことができるようなブール・フラグを変更することだとクリックリスナーで特定のアダプタ位置でRecyclerViewからビューを取得し、それらのビューから値を取得するにはどうすればよいですか?

v.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Images i=list.get(getAdapterPosition()); 
        i.setFlag(!i.getFlag()); 
        list.set(getAdapterPosition(),(i)); 
        notifyDataSetChanged(); 
       } 
      }); 

としてリスナーをクリック有しますが選択されているか否かを判定する。 は、それに応じて、私の問題を反映してRecyclerview画像から特定のアダプタの位置にビューを取得するには助けてください、私は

for(int i=0; i<images.size(); i++){ 
       if(images.get(i).getFlag()){ 

        // there I want to get view from LayoutManager for that item 
        //but how to get view for that item and get Bitmap form imageview for that item 
        //end of geting view 
       } 
      } 

をチェックすることにより、全体のArrayListをトラバースする値enter image description here

+0

ImageViewとTextViewを設定するためにアダプタを使用していますか? –

+0

はいサー!私はRecyclerViewAdapterを使用しています。 – Mashhood

+0

アダプター –

答えて

2

この使用してみてくださいを次のようですrecyclerView.getLayoutManager().findViewByPosition(int position)recyclerView

View row = recyclerView.getLayoutManager().findViewByPosition(0); 
TextView textView = row.findViewById(R.id.YourTextviwID); 
textView.setText("Nilu"); 
ImageView textView = row.findViewById(R.id.YourImageViewID); 
imageView.setBackgroundResource(R.mipmap.ic_launcher); 
の特定の行を取得します

注: - あなたがアイテムよりrecyclerViewをスクロールすると、画面に表示される唯一の項目はメモリから

EDIT削除されます: - あなたはあなたのフラグをチェックすることができ、あなたの活動にごarraylistを得るためにadapterにパブリックメソッドを書くことができますが

+0

サー!あなたは素晴らしいです。それは動作しています。しかし、なぜ時には私たちがView row = recyclerView.getLayoutManager()を使用するときにnullビューを返すのか?findViewByPosition(2); – Mashhood

+0

@MashhoodQadeerBhattiリサイクラーのためにリサイクラービューを見るリムーバーをスクロールすると画面に表示されるアイテムのみを保持するアイテムよりもアイテムがメモリから削除されます – Prem

+0

サー!もし私が最後にフラグが真だったところで、recyclerView内のすべてのImageViewからビットマップを取得したいのであれば、それはうまくいきません。 – Mashhood

関連する問題