#android #listview
#Android #listview
Вопрос:
Когда мой Listview не содержит элементов, я установил 2 пустых layoutcomponent в моем XML. Возможно ли обратиться к любому из этих компонентов в коде? Поскольку кнопка должна находиться под TextView, но когда она не в XML, приложение вылетает, потому что сначала находит TextView.
Мой XML выглядит следующим образом:
<ListView android:id="@ id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:drawSelectorOnTop="false" />
<Button
android:id="@android:id/empty"
android:layout_margin="5dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Toon dichtstbijzijnde kantoor"
android:gravity="center"/>
<TextView android:layout_height="wrap_content"
android:id="@ id/android:empty"
android:layout_width="fill_parent"
android:text="Er zijn geen jobs die voldoen aan uw criteria..."
android:gravity="center"/>
Обновить:
при следующем коде он работает отлично, но кнопка не отображается…
<ListView android:id="@ id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:drawSelectorOnTop="false" />
<LinearLayout android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
<TextView android:layout_height="wrap_content"
android:id="@ id/TestText"
android:layout_width="fill_parent"
android:text="Er zijn geen jobs die voldoen aan uw criteria..."
android:gravity="center"/>
<Button
android:id="@ id/Test"
android:layout_margin="5dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Toon dichtstbijzijnde kantoor"
/>
</LinearLayout>
Ответ №1:
Просто поместите кнопку и TextView в LinearLayout
<LinearLayout android:id="@android:id/empty">
<Button />
<TextView />
</LinearLayout>
Комментарии:
1. Я привел это в качестве примера, вы должны заполнить свойства макета, исключение говорит вам все — java.lang.RuntimeException: строка двоичного XML-файла # 46: Вы должны указать атрибут layout_width.
2. Это было немного глупо с моей стороны. Спасибо. Однако теперь я заменил свою кнопку под TextView и передал ему
android:id="@ id/Test"
Она не отображается. Отображается только TextView (также имеет другой идентификатор как пустой).3. не помещайте никакой другой элемент с идентификатором «@android: id / empty», просто макет
4. я неправильно понял ваши последние слова о пустом идентификаторе, в любом случае, попробуйте установить android:orientation =»vertical» на макете, потому что я думаю, что это помещает кнопку справа от textview, и текстовое представление заполняет экран из-за его layout_width =»fill_parent» (или замените это на wrap_content и оставьте ориентацию неизменной)