2016-07-12 10 views
2

のコンテンツプレースホルダーをRecyclerViewに入れて、サーバーからデータを取り出して&とします。Android RecyclerViewでコンテンツプレースホルダをFacebookのように実装するにはどうすればよいですか?

コンテンツプレースホルダでは、デフォルトのテキストまたは結果を示さないテキストを意味しません。実際のデータをWeb上に表示する前にFacebookが灰色のアニメーションブロックをどのように表示しているのかを見てください。私はそれを達成したい。

私のデータが表示される準備ができていない限り、基本的にローダーの一種です(水平ローラーまたはスピニングローダーで私に提案しないでください)。 例:灰色のブロックが表示され、データを表示する準備ができたらブロックを削除してテキストを表示します。

これはすべてRecyclerViewで行う必要があります。私は私の必要性を明確にしたいと思います。

どうすればよいですか?

  1. 私はデータを持っていない限り、私getCountは何のビューが表示されませんので、0を返します、ので、私はRecyclerViewにダミーのビューを配置することはできません。

  2. ダミーのレイアウトを表示して、実際のデータを取得したときにそのレイアウトを消してしまい、それがきれいに見えません。

+0

ヒントをテキストビューに追加 –

+0

また、デフォルトのテキストをxmlに追加することもできます。 –

+0

私はこれを望みません。私は、テキストがロードされるプレースホルダを必要とします。あなたはそれがFacebookにどのようにあるのか観察しましたか?そうですね。 いくつかのブロックが表示された後、コンテンツが表示されると、ブロックが表示されます。 –

答えて

0

私は、彼らが "リーン" のデータを初期データソースをロードすると仮定しているからプレースホルダを作成することができます(つまり、RecyclerViewのタイプになります)。そのプレースホルダのすべてのデータがロードされたら、データセットの変更とレプリケーションを通知します完全なアイテム(あなたのRecyclerViewのもう1つのタイプ)のプレースホルダをエースします。基本的には

ローダーの種類あなたはあなたが表示されます「ブロック」の量を持っていない例えば、絶対にデータがない場合、私のデータは

を表示する準備ができている場合を除きデータソースから返された空のデータセットがある場合、破棄される可能性があるため、プレースホルダを表示できません。

+0

ねえ、アイデアありがとう。私はあまりにも似たようなことを考えました今すぐ導入が始まります。 :) –

0

これは動作するはずです、

<TextView android:id="@android:id/empty" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:text="No Results" /> 

IDは、トリックを行います!

ListViewActivityを使用する必要があります。

ListViewActivity

試しを延長しない場合は、正確にFacebookの実装を知らなくても

ListView.setEmptyView()read here

+0

私はこれを望んでいません。私は、テキストがロードされるプレースホルダを必要とします。あなたはそれがFacebookにどのようにあるのか観察しましたか?そうですね。 いくつかのブロックが表示された後、コンテンツが表示されると、ブロックが表示されます。 –

+0

おお!ごめんなさい!私は急いで正しく読まなかった。私はこれを試してみる。 –

+0

私はAppCompatActivity&RecyclerViewを使用しています。 変更できません。完全なアプリは、多くのpalcesでこれを使用します。 –

関連する問題