我有一个简单的相对布局的问题。绿色TextView(id = subtitle)在运行时消失。为什么呢?
修改 只有当我在ListView中使用这个布局时才会出现问题!!!
aaa.xml:
<ImageView
android:id="@+id/image"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_alignParentLeft="true"
android:src="@drawable/ic_launcher"
/>
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/image"
android:maxLines="2"
android:minLines="1"
android:ellipsize="end"
android:gravity="center_vertical|right"
android:text="Title"
android:background="#ff0000"
/>
<TextView
android:id="@+id/subtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/image"
android:layout_above="@+id/subsubtitle"
android:lines="1"
android:ellipsize="end"
android:gravity="center_vertical|right"
android:text="Subtitle"
android:background="#00ff00"
/>
<TextView
android:id="@+id/subsubtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/image"
android:lines="1"
android:ellipsize="end"
android:gravity="center_vertical|right"
android:text="SubSubtitle"
android:background="#0000ff"
/>
</RelativeLayout>
ListView适配器:
public class AdsAdapter extends BaseAdapter {
Context mContext;
List<...> mArray;
public AdsAdapter(Context context) {
mContext= context;
mArray= new ArrayList<>();
}
public void setData(List<...> data) {
this.mArray = data;
}
@Override
public int getCount() {
return mArray.size();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return getViewGroup(convertView);
}
public ViewGroup getViewGroup(View reuse)
{
if(reuse instanceof ViewGroup)
return (ViewGroup)reuse;
LayoutInflater inflater = LayoutInflater.from(mContext);
ViewGroup item = (ViewGroup)inflater.inflate(R.layout.aaa, null);
return item;
}
}
答案 0 :(得分:0)
我没有尝试过您的代码,但我的应用程序中有相同的布局,我使用下面的结构来获取它。它对我来说很好。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal" >
<ImageView
android:id="@+id/image"
android:layout_width="120dp"
android:layout_height="120dp"
android:src="@drawable/andriodicon"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="vertical"
android:paddingLeft="5dp" >
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textStyle="bold" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="vertical" >
<TextView
android:id="@+id/subtitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/subsubtitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
并且如果我有时间,我会尝试你的代码让你知道。
答案 1 :(得分:0)
我已通过在我的应用程序中添加它来检查您的布局。没有任何问题。显示字幕。只需清理您的项目,刷新它并再次运行。