Проблема с макетом Android - ListView не отображается - PullRequest
1 голос
/ 01 ноября 2011

У меня проблемы с получением ListView для отображения чего-либо в моем приложении. Я уверен, что адаптер ListView настроен правильно (и я могу считать данные в нем, используя Log.d для подтверждения), поэтому я предполагаю, что проблема в макете XML. У меня есть поле автозаполнения и кнопка в верхней части экрана, с ListView внизу. И AutoComplete, и Button отображаются нормально и работают правильно, однако я ничего не вижу для ListView.

Единственное, о чем я сейчас могу думать, это то, что я могу делать что-то странное с LinearLayouts, которое не позволяет отображать ListView, или что-то подобное. Я читал все документы, которые я могу на макетах Android, но пока не сталкивался с чем-то, что, похоже, может помочь ... Может кто-нибудь помочь мне понять, почему ListView вообще не отображается?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical"
android:layout_width="fill_parent" 
android:padding="5dp"
android:layout_height="match_parent">

<LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:padding="5dp" android:weightSum="1">
        <com.myapp.CustomAutoCompleteTextView
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:fadeScrollbars="false"
                android:id="@+id/autocomplete_itemname"
                android:layout_width="fill_parent"
                android:layout_weight="0.90"/>
            <Button android:text="Locate"
                android:layout_width="wrap_content"
                android:id="@+id/button_item_list_located_item"
                android:layout_height="wrap_content">
            </Button>
</LinearLayout>

<ListView android:id="@+id/selected_items_listview"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">
    </ListView>

</LinearLayout>

Hierarchy Viewer output

Ответы [ 3 ]

2 голосов
/ 01 ноября 2011

Необходима ли внутренняя LinearLayout для вашего приложения?

Если нет, удалите оператор

LinearLayout xmlns:android="schemas.android.com/apk/res/android"; 

во внутренней линейной компоновке и попробуйте.

0 голосов
/ 01 ноября 2011

Ваш вопрос не является конкретным, вы объявили адаптер массива в своем файле .java?

Если вы этого не сделали, я предлагаю вам использовать:

/** Called when the activity is first created. */

private ListView lv1;
private String lv_arr[] =
{ "Android", "iPhone", "BlackBerry", "me", "J2ME", "Listview", "ArrayAdapter", "ListItem", "Us", "UK", "India" };
ListView lst;

ArrayAdapter<String> arrad;

@Override
public void onCreate( Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

lv1=(ListView)findViewById(R.id.ListView01);

 arrad =  new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr);
 lv1.setAdapter(arrad);

// By using setTextFilterEnabled method in listview we can filter the listview items.
0 голосов
/ 01 ноября 2011

Попробуйте изменить layout_height вашего корневого пакета LinearLayout на "fill_parent" вместо "match_parent"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...