0

ListView のレイアウトとして使用されている別の XML ファイルにある LinearLayout に TextView を挿入したいと考えています。しかし、他の XML ファイルにある LinearLayout にアクセスできないようです。

カテゴリのタイトルを取得するループを実行し、タイトルごとに、そのタイトルで TextView を作成したいと考えています。

TextView の挿入方法

LinearLayout Layout = (LinearLayout) findViewById(R.id.itemDesign); //When debugging I can see "Layout" is just null. itemDesign is also not in main.xml.
TextView title = new TextView(this);
title.setText(CatName);
Layout.addView(title);

ListView で使用する XML「single_list_item.xml」

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

    <!-- Name Label -->
    <TextView android:id="@+id/name_label"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="25dip"
        android:textStyle="bold"
        android:paddingTop="10dip"
        android:paddingBottom="10dip"
        android:textColor="#43bd00"/>
    <!-- Description Label -->
    <TextView android:id="@+id/email_label"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="#acacac"/>
</LinearLayout>
4

4 に答える 4

1

ビューを膨らませる必要があるようです。アダプタgetView()クラス内

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.your_layout, parent, false);

次に、にアクセスしTextViewます

TextView firstTV = (TextView) rowView.findViewById(R.id.some_id);

LayoutInflater について

于 2013-02-19T15:37:55.493 に答える
0

xmlファイルに基づいて新しいListViewアイテムを作成する場合は、最初にそれを膨らませる必要があります。findViewById()次に、結果のビューを呼び出して子を取得できます。

LayoutInflater inf = LayoutInflater.from(getContext());
LinearLayout listItemLayout = (LinearLayout)inf.inflate(R.layout.single_list_item, null);

TextView nameLabel = (TextView) listItemLayout.findViewById(R.id.name_label);
于 2013-02-19T15:38:37.283 に答える
0

使用する前にアクティビティコンテンツビューを設定していないと思いますfindViewById()

setContentView(R.layout.myLayout);

その後、テキストビューを初期化し、幅、高さのパラメーターを追加します。その後、そのテキスト ビューをレイアウトに追加しても問題はありません。

于 2013-02-19T15:16:24.327 に答える
0

TextView を追加した後、レイアウトを無効にしてみてください。

Layout.addView(title);
Layout.invalidate();

あなたが何を達成したいのか、まだ完全にはわかりません。達成したいことについて、もう少し情報を提供していただけないでしょうか?

于 2013-02-19T15:24:05.813 に答える