0

XMLを誤用しているだけかもしれませんが、リストビュー行のレイアウトを作成しようとしていますが、惨めに失敗しているようです。

私はこれを持っています:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:orientation="vertical"
    android:paddingLeft="20dp"
    android:paddingRight="20dp" >

    <TextView android:id="@+id/titleTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/detailsTextView"
        android:textSize="16sp"/>

    <TextView android:id="@id/detailsTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="12sp"/>


</RelativeLayout>

高さ100dpのレイアウトを追加して、その中にListView2つTextViewのsを入れることができるようになることを願っています。ただし、次のように設定しようとすると、次のようになります。

public View getView(int position, View currentView, ViewGroup parent)
{
    View rowContents = LayoutInflater.from(mContext).inflate(R.layout.list_view_cell, null);
    TextView titleView = (TextView)rowContents.findViewById(R.id.titleTextView);
    titleView.setText(titles[position]);
    TextView detailsView = (TextView)rowContents.findViewById(R.id.detailsTextView);
    detailsView.setText(details[position]);

    return rowContents;
}

TextViewそれは私に高さのある私のdetailsViewだけで行を与えてwrap_contentいるようです。titleViewはどこにも表示されず、rowContentsも設定されていないと思います。そうでない場合、高さは100dpになりますよね?

古いビューを再利用してその内容を設定する必要があることはわかっていますが、テストとしてこれをすばやく作成しました。

ここで何が問題になっていますか?

4

1 に答える 1

2

layout_below代わりに、下の TextView を設定してみてください。

<TextView android:id="@+id/titleTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="16sp"/>

<TextView android:id="@+id/detailsTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/titleTextView"
    android:textSize="12sp"/>

(そうしないtitleTextViewと、左上隅に「ロック」され、強制的detailsTextViewに下に移動する可能性があります。)

しかし、Android のリード プログラマーの 1 人によるこのGoogle トークを見る必要があります。効率的なアダプターの作成方法が詳しく説明されています。

于 2013-01-14T19:41:55.407 に答える