web-dev-qa-db-ja.com

listView / GridViewをRecyclerViewに完全に置き換える方法は?

新しいRecyclerViewクラスは、少しきれいになりますが、私がよく知っている多くの機能が欠けていることに気付きました。

  1. 仕切りですが、これは this post または this one
  2. 「footerDividersEnabled」
  3. 「headerDividersEnabled」
  4. "listSelector"ですが、ビューごとに単純に設定する必要がありますか?
  5. 「fastScrollEnabled」
  6. 「smoothScrollbar」
  7. 「textFilterEnabled」
  8. また、フィルタリングで新しいクラスを使用する新しい方法があるかどうかを確認しようとしました(Filterableを実装することによりListViewで行われるように)。そのようなことがあるかどうかわかりませんでした
  9. "tools:listitem"、UIデザイナーにアイテムを表示します。

それらは私が使用するものですが、おそらく私が見逃した他のものがあります。

それらのそれぞれを置き換える方法のチュートリアルやガイドラインはありますか?

38

わかりました、私は私が書いたことについていくつかの解決策を見つけたと思います:

  1. 仕切り-私が与えたリンクはおそらく役立つ可能性があります( herehere および here ).
  2. "footerDividersEnabled"-おそらく#1が好きですが、それがなくても、フッターのレイアウトに仕切りを常に追加できます。
  3. 「headerDividersEnabled」-#2と同じ。
  4. 「listSelector」-アイテムビューに対して実行する必要があります。
  5. "fastScrollEnabled"-これに対する解決策はありません。ただし、 this library が見つかりました。私の投稿 here .
  6. 「smoothScrollbar」-#5の機能リクエストである必要があります。既にスムーズだと思いますが、よくわかりません。
  7. "textFilterEnabled"-残念ながら、自分で処理する必要があります。サイズ1のスレッドプールを作成するか、独自のスレッドを管理し(または作業が比較的短い場合はAsyncTaskを使用して)、フィルタリングを実行させます。
  8. フィルター可能-#7と同じ
  9. 「tools:listitem」-利用できませんが、RecyclerViewから拡張して追加できると思います。ただし、RecyclerViewはビューのレイアウト方法を知らないため、いくつかの作業を行う必要があります。
9

私が知っているチュートリアルはありませんが、 ListViewのソース は公開されています!これ以上の学習方法はありません...例えば:最近、ListViewと同じようにフィルタリングを実装しました。さらに、うまくやれば、一度だけ行うだけで、どこにでも再適用できます!

0
Takhion

私はあなたがRecyclerViewのライブラリのいくつかを見に行くことをお勧めします。多くのライブラリは https://Android-arsenal.com/ で見つけることができます。

また、RecyclerViewおよびRecyclerViewのアダプタに独自の機能を実装できます。 RecyclerViewを拡張し、その上に構築するだけです。

https://Android.googlesource.com/platform/frameworks/support/+/refs/heads/master/v7/recyclerview/src/Android/support/でRecyclerViewのソースコードを読むことをお勧めします。 v7/widget/RecyclerView.Java

0
nourikhalass