現在、私は次のポジション(ビデオプレーヤー)に変更できるビデオの「プレイリスト」を持っています。解決済み:RecyclerViewの位置を自動選択してハイライト表示
RecyclerViewは、このフルのArrayListを持っており、このような次の位置にスクロール:
mLinearLayoutManager.scrollToPositionWithOffset(position, 10);
パーフェクト!今、私はAUTO SELECT(ここではクリックしたくない...)を現在の位置にしてハイライトしたいと思います。
最終製品は次のようになります。
と私はメディアプレーヤーの次ヒットするたびに、次の項目(位置)は、背景をスクロールして強調表示されます。
バックグラウンドをハイライト/変更する位置を知るためにポジションをアダプタに渡すにはどうすればよいですか?覚えておいてください...このタスクにはクリックが含まれておらず、アイテムは常にハイライトされている必要があります。次のビデオ/アイテム/ポジションが選択されたときにのみ変更されます。
UPDATE:それは
private int highlightItem = 0;
public void toggleSelection(int pos) {
this.highlightItem = pos;
}
toggleSelection(position)
を動作させるためにアダプタ上の
いくつかの変更は、現在の位置に私の活動どこストレージからすべての時間を使用されます。正解に私を導くための
if (position == highlightItem) {
holder.mMainView.setSelected(true);
} else {
holder.mMainView.setSelected(false);
}
おかげで、ここで私は同じ問題を持つすべての人のために更新しておこう:
はその後、私のアダプタで、最終的な変更でした。
素晴らしい解決策です。私はRecyclerViewのリストの最初の項目が常にデフォルトで強調表示されているので、類似した作業をしていますが、選択されていれば強調表示したいだけです。どのように修正するためのアイデア:http://stackoverflow.com/questions/38818499/android-recyclerview-why-is-first-item-in-list-already-selected – AJW
@AJWは、値を持つ 'highlightItem'を初期化しようとします。 1、0の代わりに – NarendraJi
'holder.mMainView'とは何ですか? – NarendraJi