我有一个充满值的hashmap,它将填充listview。图像设置正常,但文本没有。 hashmap不是null,只是为什么它不会显示的一些奇怪的原因。任何帮助将不胜感激
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>
答案 0 :(得分:2)
尝试使用description.setText(String.valueOf(song.get(MenuActivity.KEY_description)));
同时尝试重建您的项目。
编辑:
我看了你的xml,你还添加额外的&#34;,看:
android:id="@+id/"description"
需要这样写:
android:id="@+id/description"
答案 1 :(得分:2)
我能够使用您在上面提供的布局显示文字,但仅针对“描述”和“用户名”,“喜欢”隐藏在最后一个ImageView后面,请尝试使用android:layout_toLeftOf="@id/id_of_image"
作为喜欢。我只对方形图像进行了快速测试,根据您的实际图像,您可能会有更多隐藏的视图,但这证实了问题在于xml。尝试重新排列xml,以便您的视图不会相互重叠。
快乐的编码!
答案 2 :(得分:0)
如果您在TextViews的布局XML中对字符串进行硬编码,您是否尝试过在TextViews中显示文本?也许这些观点是不可见的,在这种情况下尝试重新安排你的布局。
答案 3 :(得分:0)
description.setText(song.get(MenuActivity.KEY_description).toString());
username.setText(song.get(MenuActivity.KEY_username).toString());
likes.setText(song.get(MenuActivity.KEY_likes).toString());