两个TextViews使用XML专门显示在一行上

时间:2012-06-13 07:09:46

标签: android android-layout textview

我的ListView项目有两个TextView。我想一次显示其中一个使用XML 。我不想以编程方式执行此操作。怎么做?

例如: 当TextView A有文本时,TextView B会消失。当TextView A为空时,将出现TextView B.

enter image description here

我的代码

<?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>

3 个答案:

答案 0 :(得分:4)

很抱歉,您无法使用xml,通过编程方式在您的getView() List的适配器检查中执行此操作

if(textview1.getText().toString.length()>0)
     textview2.setVisibilty(View.GONE);
else
     textview1.setVisibilty(View.GONE);

答案 1 :(得分:1)

TextView A有一个文本然后在TextView B中设置setVisibility(View.VISIBLE)或setVisibility(View.VGONE),对于TextView B也是如此。您可以在CustomAdapter类getView方法中执行此操作。

由于

答案 2 :(得分:1)

你会同时用文字显示它们吗?如果没有,如果你没有样式差异(文字大小/颜色),你可以只使用一个文字视图吗?

否则,如果A和B有不同的大小/颜色/字体/等等,并假设它们永远不会同时拥有文本,那么使用wrap_content应该确保A在没有时获得宽度0文字,B将占用所有空间。否则,如果B没有文本,A将根据其内容需要占用尽可能多的空间。