繁体   English   中英

Android Listview不显示任何内容

[英]android Listview not showing anything

我正在作为大学项目开发​​第一个基本的android应用程序,并且我有一个名称数组列表。 我希望将其放入ListView 当我带入xml文档下的ListView时,我没有问题。 我没有获得item1,sub item 1等的基本模板。然后,当我设置要在列表视图中播放的数组时,列表仍然为空。 下面我有xml文件

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ListView
        android:layout_width="wrap_content"
        android:layout_height="277dp"
        android:id="@+id/listView" android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" android:layout_marginTop="7dp"
        android:layout_alignParentBottom="true"/>
</RelativeLayout>

然后这是Java代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    populateListView();
}

private void populateListView() {
    String[] myItems = {"frank","george","alice", "anna"};
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.main, myItems);
    ListView list = (ListView)findViewById(R.id.listView);
    list.setAdapter(adapter);
}

您的问题是您具有相同的布局R.layout.main用于两种不同的用途。
您将内容视图设置为setContentView(R.layout.main); ListView所在的位置,但您也将此布局与适配器一起用作new ArrayAdapter<String>(this, R.layout.main, myItems);
因此,对于您的代码,您没有任何项目布局来显示数组myItems 您需要为适配器创建另一个布局为R.layout.item_layout并在其中放置一个TextView (或使用android.R.layout.simple_list_item_1类的android布局)。

注意:为避免ListView一些错误,您还必须将高度设置为match_parentfill_parent

尝试为您的适配器:

ArrayAdapter<String> adapter= 
new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myItems);

适配器必须为TextView充气。 您可以使用XML制作自己的TextView(如果要自定义)。

然后将是:

ArrayAdapter<String> adapter= 
new ArrayAdapter<String>(this, R.layout.yourcustomtextview, myItems);

Android中的默认数组适配器将行的布局作为第二个参数。

将您的ArrayAdapter构造函数更改为如下所示:

ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM