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(); が1つだけありますArrayList<String> results。そして、結果がリストアダプタに追加されます。

したがって、に表示される行は1つだけ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 に答える