2

私の「グラフィックデザイン」には、4行のテキストビューとテキストビューの下のリストビューがあり、すべてが線形レイアウトでネストされています。

デザインの背後にある私のxmlコードは次のとおりです

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

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView android:id="@+id/tvs_pname"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="Project Name:" android:textAppearance="?android:attr/textAppearanceMedium" />
            <TextView android:id="@+id/tv_pname"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>


        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView android:id="@+id/tvs_pamount" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="Budgeted Amout:"
                android:textAppearance="?android:attr/textAppearanceMedium" />
            <TextView android:id="@+id/tv_pamount" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="Large Text"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>


        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView android:id="@+id/tvs_pstartdate"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="Start Date:" android:textAppearance="?android:attr/textAppearanceMedium" />
            <TextView android:id="@+id/tv_pstartdate"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" />

        </LinearLayout>


        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView android:id="@+id/tvs_penddate"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="End Date:" android:textAppearance="?android:attr/textAppearanceMedium" />
            <TextView android:id="@+id/tv_penddate" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="Large Text"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>

    </LinearLayout>
        <LinearLayout android:layout_height="fill_parent"
            android:layout_width="fill_parent" android:orientation="vertical">

            <ListView android:id="@+id/lst_projlist"
                android:layout_width="fill_parent" android:layout_height="fill_parent">
            </ListView>

        </LinearLayout>
</LinearLayout> 

問題は、エミュレーターでアプリを実行すると、テキストビューはデザインと同じように表示されますが、リストビューはその下に表示されないことです。なぜこうなった。

実験的に、コードからリストビューを削除し、代わりにボタンを削除しました。アプリを実行すると、テキストビューとボタンの両方がデザインと同じようにエミュレーターに表示されました。

それで、私のコードの問題は何ですか?リストビューにいくつかのプロパティがありませんか?私はまったくの初心者なので、非常に基本的な間違いを犯している可能性があることを知っています

4

3 に答える 3

2

ListViewコード内のある種のデータを介してにデータを入力していAdapterますか?リストにアイテムが含まれていない場合、表示するものがないため、リストは「非表示」になります。

使用している場合は、エミュレーターでHierarchy Viewerツールを使用して、レイアウトがどのようにレンダリングされているかを分析し、ListViewがどこにあるかを確認できます。

また、layoutoptを試して、画面全体に最適なレイアウトを使用していることを確認することもできます。LinearLayoutsたとえば、を優先して削除できる可能性のあるネストされたものがたくさんありTableLayoutます。

于 2012-04-04T14:04:16.553 に答える
0

リストビューに要素を追加しましたか?これが解決策であるかどうかはわかりません。エミュレーターではそれほど頻繁には機能しませんが、試してみてください。

于 2012-04-04T14:12:22.087 に答える
0

あなたのコードは正しいです。おそらく、コードにリストを入力していません。たとえば、次の行をonCreate()メソッドに追加してみてください。

ListView lst_projlist =(ListView)findViewById(R.id.lst_projlist);

    for (int i=0; i<10;i++)
        elements.add("element "+i);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, elements);
    lst_projlist.setAdapter(adapter);
于 2012-04-04T14:14:39.420 に答える