0

私の ListView アイテムには 2 つの TextViews があります。XML を使用して、一度に 1 つずつ表示したいと考えています。私はこれをプログラムで行いたくありません。どうやってするの?

例: TextView A にテキストがある場合、TextView B は消えます。TextView A が空の場合、TextView B が表示されます。

ここに画像の説明を入力

私のコード

<?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="horizontal" >

    <TextView
        android:id="@+id/groupNameTextView"
        android:layout_width="wrap_content"
        android:layout_height="50dip"
        android:text="TextView"
        android:textSize="20dip"
        android:textColor="@color/ForestGreen"
        />

    <TextView
        android:id="@+id/topRatedPlaceNameTextView"
        android:layout_width="wrap_content"
        android:layout_height="50dip"
        android:text="TextView"
        android:textSize="20dip" 
        android:textColor="@color/Azure"
        />

</LinearLayout>
4

3 に答える 3

4

getView()申し訳ありませんが、リストのアダプターチェックのようにプログラムでxmlでそれを行うことはできません

if(textview1.getText().toString.length()>0)
     textview2.setVisibilty(View.GONE);
else
     textview1.setVisibilty(View.GONE);
于 2012-06-13T07:13:26.483 に答える
1

TextView A にはテキストがあり、TextView B には setVisibility(View.VISIBLE) または setVisibility(View.VGONE) が設定されており、TextView B についても同じです。CustomAdapter クラスの getView メソッドでこれを行います。

ありがとう

于 2012-06-13T07:15:44.477 に答える
1

両方を同時にテキストで表示することはありますか? そうでない場合、およびスタイルの違い (テキスト サイズ/色) がない場合は、単一のテキスト ビューを使用できますか?

それ以外の場合、A と B のサイズ、色、フォントなどが異なり、同時にテキストが存在しないと仮定すると、wrap_content を使用すると、テキストがない場合に A の幅が 0 になるようにする必要があります。 Bはすべてのスペースを取ります。それ以外の場合、B にテキストがない場合、A はそのコンテンツに必要なだけのスペースを取ります。

于 2012-06-13T07:22:11.587 に答える