RecyclerViewのListView異なると単品setItemClicklistenerのための時間をクリックすることで直接得ることができない、この時間は、我々は、アダプタ・インターフェースを定義することができ、かつ適切なインターフェイス活性を達成するために、各項目のクリックイベントを取得するには、それが標準手数料がありますモード。
具体的には、以下:
次のように内部インタフェースアダプタクラスの定義の最初のステップは、自分自身の定義は次のとおりです。
1 2 3 4 5 6 7 8 9 10 11
|
/ ** イベントに実装*インターフェイス * / パブリックインターフェイスのSelectItem { / ** *アクティビティに定義されたメソッド * @paramビュー・ビュー・オブジェクト * @param位置項目の位置 * / ボイドSELECT(ビュービュー、INT位置) ; }
|
ステップ2. onBindViewHolder方法で定義されたクリックイベント、およびClickイベントのインターフェイスの実行ロジックを定義します。
ビッグボックスは、
活動中の操作の代表者モードを使用してアイテムをRecyclerView
1 2 3 4 5 6 7 8
|
holder.mainView.setOnClickListener(新しいView.OnClickListener(){ @Override ます。public void onClickの(ビューV){ 場合(ヌル= mSelectItem){! mSelectItem.select(V、I); } } });
|
このように、我々は、コールバック関数でビューや位置を取得するので、あなたは、活動に対応するデータを操作することができます
第四の工程が設けられているデリゲートオブジェクト定義は、アダプタに関数を定義します
1 2 3
|
公共ボイドsetSelectItem(SelectItem関数のSelectItem){ mSelectItem = SelectItem関数。 }
|
このステップを実行してください、私たちは活動を書き換え中に、クラスのインターフェイスメソッドをクリックして現在の場所とビューオブジェクトを取得することができます
最終工程、活性のインタフェース機能を書き換え
1 2 3 4 5 6
|
pickItemAdapter.setSelectItem(新新PickItemAdapter.SelectItem(){ @Override ます。public void(ビュービュー、int型の位置){SELECT のSelectItem(位置); //データ操作機能、その定義を } });
|
私たちは簡単にアイテムの現在位置を取得することができるように、データが操作されました!