2

ファイル view_inflated.xml の下に次の xml マークアップを含む単純な TextView があります。

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:text="Inflated view"
    >
</TextView>

次のように、ファイル activity_main.xml の下で宣言された LinearLayout 内の TextView を膨らませたいと思います。

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/ll1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >

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

        </ListView>

    </LinearLayout>

ビューを膨らませるために、次のように試しました:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        resource=new String[]{"Arafat","Anik","Prottoy","Progga","Prapti",
                "Oishy","Nijha","Adil","Troyee","Kushum","Manik","Shahin","Limon"
                ,"Shumon","Lipi","Lucy","Shaikot"};

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

        lv=(ListView) findViewById(R.id.listView1);
        lv.setAdapter(adapter);
        lv.setOnItemClickListener(this);

        LayoutInflater inflater=getLayoutInflater();
        View v=inflater.inflate(R.layout.view_inflated, null);
        LinearLayout rl=(LinearLayout) findViewById(R.id.ll1);
        rl.addView(v);
    }

問題は、リスト ビューが期待どおりに表示されますが、TextView が表示されないことです。この問題を解決するには?

4

4 に答える 4

1

しばらく問題をいじってから、見逃したものを見つけます

android:orientation="vertical"

あなたのactivity_main.xml で:)

それを行うと、あなたの問題は解決されます。

テキストビューを一番上に設定するには、メインレイアウトを相対レイアウトに置き換えます

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/ll1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <ListView
        android:layout_alignParentBottom="true"
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="400dp"
       android:layout_gravity="bottom" >
    </ListView>

</RelativeLayout>

コードにも TypeCast を追加し、アダプターをリストに設定する前に、この相対レイアウトにビューを追加します。

このような

LayoutInflater inflater = getLayoutInflater();
    View v = inflater.inflate(R.layout.view_inflated, null);
    RelativeLayout rl = (RelativeLayout) findViewById(R.id.ll1);
    rl.addView(v);

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

    ListView lv = (ListView) findViewById(R.id.listView1);
    lv.setAdapter(adapter);
于 2013-10-15T04:57:28.720 に答える
0

セクションリストビューを使用できます

ここに画像の説明を入力

この下のリンクを参照できます

http://amitandroid.blogspot.in/2013/05/android-section-listview.html

この助けを願っています。

于 2013-10-15T05:01:46.213 に答える
0

膨張したビューをフッターとしてリストビューに追加します。

setAdapter

 lv=(ListView) findViewById(R.id.listView1);
 LayoutInflater inflater=getLayoutInflater();
 View v=inflater.inflate(R.layout.view_inflated, null);
 lv.addFooterView(v);
 lv.setAdapter(adapter);
 lv.setOnItemClickListener(this);
于 2013-10-15T04:38:57.377 に答える
0
// try this
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, R.layout.view_inflated,resource);
于 2013-10-15T04:39:00.110 に答える