I have problem with a simple relative layout. The green TextView (id=subtitle) disappears at runtime. Why?
Edit: The problem only exists when i use this layout in a 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 Adapter:
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;
}
}
Just Replace your susubTitle TextView with below TextView
<TextView
android:id="@+id/subsubtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/image"
android:layout_toRightOf="@+id/image"
android:background="#0000ff"
android:ellipsize="end"
android:gravity="center_vertical|right"
android:lines="1"
android:text="SubSubtitle" />