我的ListView项目有两个TextView。我想一次显示其中一个使用XML 。我不想以编程方式执行此操作。怎么做?
例如: 当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>
答案 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将根据其内容需要占用尽可能多的空间。