0

我在列表视图中显示数据时遇到问题。它没有垂直显示。

这是我的代码:

private ListView lv;
private ArrayList<String> results = new ArrayList<String>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.meal_result);
    BreakFastLog info = new BreakFastLog(this);
    info.open();

    String data1 = info.getMealNameData();
    //String data2 = info.getServingData();

    results.add(data1);
    lv = (ListView) findViewById (R.id.lvBF);   
    lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, results));
    lv.setTextFilterEnabled(true); 

    info.close();
}

和我的 xml

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



    <ListView
        android:id="@+id/lvBF"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />


</LinearLayout>

这有什么问题?请帮我弄清楚是什么使它水平显示。

这是屏幕截图:

在此处输入图像描述

4

2 回答 2

0

尝试<RelativeLayout>使用您的 xml 而不是<LinearLayout>. 并将其添加到您的列表视图中

 <ListView
         android:id="@id+/yourListViewid"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"  
         android:layout_marginLeft="5dip"
         android:layout_marginRight="5dip"
         android:layout_alignParentTop="true" >
     </ListView>
于 2012-12-08T10:14:38.183 回答
0

看完你的代码后,

String data1 = info.getMealNameData();ArrayList<String> results. 并将结果添加到您的列表适配器。

所以只有一行显示在您的ListView.

因此,您必须String[]为所有用户输入而不是您的输入,String data1然后将其传递String[]给您的列表适配器。

更新:

String data1 = info.getMealNameData();
String[] inputData = data1.split(" ");
lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, inputData ));
于 2012-12-08T10:26:10.160 回答