Android布局问题 - ListView无法显示

时间:2011-11-01 06:10:20

标签: android xml listview layout

我无法让ListView在我的应用程序中显示任何内容。我确信ListView的适配器设置正确(我可以使用Log.d确认其中的数据),所以我猜这个问题是在XML布局中。我有一个自动填充框和屏幕顶部的按钮,下方有ListViewAutoCompleteButton都显示正常且工作正常,但我对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 个答案:

答案 0 :(得分:2)

您的申请需要内部LinearLayout吗?

如果没有,请删除

LinearLayout xmlns:android="schemas.android.com/apk/res/android"; 
内部线性布局中的

语句并尝试。

答案 1 :(得分:0)

尝试将包裹根layout_height的{​​{1}}更改为LinearLayout而不是"fill_parent"

答案 2 :(得分:-3)

您的问题并不具体,您是否在.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.