2016-06-12 2 views
1
<android.support.v7.widget.RecyclerView 
    android:id="@+id/education_recycle_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:scrollbars="vertical"> 
</android.support.v7.widget.RecyclerView> 

Это мой текущий файл макета xml для просмотра в режиме рециркуляции.Как обрабатывать пустые данные в режиме просмотра вторсырья?

Как обрабатывать пустые данные в режиме просмотра вторсырья? Возможно ли, если текст будет отображаться «нет данных» в том же макете?

Благодаря

ответ

2

Это, как я это делаю:

В XML:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<TextView 
    android:id="@+id/tv_no_data" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:text="@string/empty_text" 
    android:textAppearance="?android:textAppearanceMedium" 
    android:visibility="invisible" /> 

<android.support.v7.widget.RecyclerView 
    android:id="@+id/education_recycle_view" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:scrollbars="vertical" 
    app:layoutManager="LinearLayoutManager" /> 
</FrameLayout> 

и в Activity:

if (!data.isEmpty()) { 
         //if data is available, don't show the empty text 
         emptyText.setVisibility(View.INVISIBLE); 
         RecyclerAdapter adapter = new RecyclerAdapter(data); // pass the data to your adapter here 
         recyclerView.setAdapter(adapter); 

        } else 
         emptyText.setVisibility(View.VISIBLE); 

Позвольте мне знать, если вы нужна дополнительная информация.

+0

Спасибо Viswesh и Ishata, я следую инструкциям и его работе. –

+0

Рад помочь. :) –

+0

Вам необходимо наблюдать набор данных в адаптере. если набор данных пуст, то отображается только пустой вид. Это решение не будет работать, если элементы будут удалены динамически. – Pawan

0

Создать textview с текстом "Нет доступных данных". И в вашем Явы поставил

if(noData) 
{ 
    textview.setVisibility(View.Visible); 
    recylerView.setVisibility(View.Gone); 
}else{ 
    textview.setVisibility(View.Gone); 
    recylerView.setVisibility(View.Visible); 
} 
+0

где я помещал textView в макет? в том же макете или нет? для условия «noData», где я положил это условие? в адаптере или в действии? –

+0

@AzdaFirmansyah, который зависит от того, как вы извлекаете данные. Я бы сказал, когда вы извлекаете данные, если нет данных, сделайте «TextView» видимым. Иначе, передайте данные адаптеру и сделайте 'TextView' невидимым/ушедшим. –

Смежные вопросы