Как включить Android ListView Пустой текст? - PullRequest
11 голосов
/ 09 июля 2011

Итак, у меня есть ListView с пустым списком в XML. Работает нормально. Я установил TextView для идентификатора как пустой список для разных случаев, поэтому мне нужно иметь возможность программно изменять этот текст.

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>
<TextView android:id="@android:id/empty"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/no_data"
/>

Я бы хотел что-то подобное, но это не сработает:

TextView empty = (TextView)listing.findViewById(android.R.id.empty);
empty.setText(R.string.no_display_data);

Есть идеи?

Ответы [ 3 ]

17 голосов
/ 10 июля 2011

Если вы находитесь в ListActivity, выполните

TextView empty = getListView().getEmptyView();
empty.setText(R.string.no_display_data);

Вы также можете сделать (изменить - следующее неверно)

TextView empty = (TextView)listing.findViewById(R.id.empty); //remove android
empty.setText(R.string.no_display_data);
3 голосов
/ 09 июля 2011

Я обычно устанавливаю видимость списка на View.INVISIBLE, когда в нем нет содержимого. И когда есть контент, он устанавливается на View.VISIBLE (через .setVisibility(int) -метод).

См. справочник по Android .


Извините - я неправильно понял настоящий вопрос. Ответ все еще несколько полезен - он остается пока.

Вам необходимо внести изменения в объявление ID в вашем XML. Что-то в форме "@+id/empty", тогда вы сможете использовать второй предоставленный вами фрагмент кода.

UPDATE: Вы должны вызвать .setEmptyView(View) -метод на вас ListView, чтобы включить магию.

0 голосов
/ 30 августа 2015

при настройке адаптера

lview.setEmptyView(rootView.findViewById(R.id.empty_text_view_deductions));

in your xml
     <ListView android:id="@+id/listView_deductions"
            android:layout_width="fill_parent"
            android:groupIndicator="@null"
            android:divider="@color/fc_background_light_gray_transparent"
          android:layout_below="@+id/linear_cost_ll"
            android:dividerHeight="0.1dp"
            android:layout_marginTop="20dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_height="match_parent"/>

       <TextView
        android:id="@+id/empty_text_view_deductions"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:ellipsize="none"
        android:gravity="center"
        android:padding="20dp"
        android:singleLine="false"
        android:text="Just make a call to complete the setup for this SIM.Call anyone you wish"
        android:textColor="@android:color/darker_gray"
        android:textSize="@dimen/text_small"
        android:visibility="gone" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...