私はフラグメント内にRecyclerViewを持っており、アイテムは選択可能です。 RvAdapterに変数int focusedItem = 0;
を作成し、onBindViewHolderメソッドのholder.itemView.setSelected(focusedItem == position);
を作成して解決しました。Android - RecyclerView:新しいアイテムを追加して選択します
holder.itemView.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
notifyItemChanged(focusedItem);
focusedItem = position;
notifyItemChanged(focusedItem);
}
});
及びIは、選択された項目の背景色を変更背景としてセレクタを使用するリスト項目のXMLファイルで:これはアイテムのonClickの方法です。これは問題なく動作していますが、リサイクラビューにアイテムを追加したいのですが、アイテムを追加した後はそれほど良く機能しません。
これは私が(フラグメントクラス内)RVに項目を追加する方法です:
entries.add(0, new ...);
rvAdapter.notifyItemInserted(0);
recyclerView.scrollToPosition(0);
だから私は、最初の位置にArrayListにアイテムを追加します。次に、アダプターに通知して、最初の位置にある新しい項目が挿入された後、その新しい項目にスクロールします。今度は、新しい項目が自動的に選択されるようにします。それを行う方法はありますか?私の考えはfocusedItem = 0
を設定することでしたが、フラグメントクラスでこの値を編集する方法はわかりません。または、この変数を0に設定できるonItemInsertedのようなものがありますか?
Yeap、あなたは正しいです、選択解除の部分を忘れてしまった:) –