我有一个充满值的 HashMap ,它将填充 ListView 。图像设置得很好,但文本却没有。 HashMap 不为空,只是一些奇怪的原因导致它无法显示。任何帮助将不胜感激
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
if(convertView==null){
vi = inflater.inflate(R.layout.list_row, null);
}
TextView description = (TextView)vi.findViewById(R.id.description);
TextView username = (TextView)vi.findViewById(R.id.usernamae);
TextView likes = (TextView)vi.findViewById(R.id.likes);
ImageView thumb_image=(ImageView)vi.findViewById(R.id.list_image); // thumb image
HashMap<String, String> song = new HashMap<String, String>();
song = data.get(position);
description.setText(song.get(MenuActivity.KEY_description));
username.setText(song.get(MenuActivity.KEY_username));
likes.setText(song.get(MenuActivity.KEY_likes));
imageLoader.DisplayImage(song.get(MenuActivity.KEY_THUMB_URL), thumb_image);
return vi;
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/list_selector"
android:orientation="horizontal"
android:padding="5dip" >
<LinearLayout android:id="@+id/thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="3dip"
android:layout_alignParentLeft="true"
android:background="@drawable/image_bg"
android:layout_marginRight="5dip">
<ImageView
android:id="@+id/list_image"
android:layout_width="50dip"
android:layout_height="50dip"
/>
</LinearLayout>
<TextView
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/thumbnail"
android:layout_toRightOf="@+id/thumbnail"
android:textColor="#040404"
android:typeface="sans"
android:textSize="15dip"
android:textStyle="bold"/>
<TextView
android:id="@+id/username"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/description"
android:textColor="#343434"
android:textSize="10dip"
android:layout_marginTop="1dip"
android:layout_toRightOf="@+id/thumbnail" />
<TextView
android:id="@+id/likes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/username"
android:gravity="right"
android:layout_marginRight="5dip"
android:textSize="10dip"
android:textColor="#10bcc9"
android:textStyle="bold"/>
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"/>
</RelativeLayout>
最佳答案
我能够使用您上面提供的布局显示文本,但仅限于“描述”和“用户名”,“喜欢”隐藏在最后一个 ImageView 后面,请尝试使用 android:layout_toLeftOf="@id/id_of_image”
表示喜欢。我只对方形图像进行了快速测试,根据您的实际图像,您可能有更多隐藏 View ,但这证实了问题出在 xml 上。尝试重新排列您的 xml,以便您的 View 不会相互重叠。
快乐编码!
关于java - TextView,不会设置文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535592/