2

我有一个充满值的哈希图,它将填充列表视图。图像设置良好,但文本没有。哈希图不为空,只是它不显示的一些奇怪原因。任何帮助,将不胜感激

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>
4

4 回答 4

2

尝试使用description.setText(String.valueOf(song.get(MenuActivity.KEY_description)));

也尝试重建你的项目。

编辑:

我看你的xml,你还添加了额外的“,看:

android:id="@+id/"description"

需要这样写:

 android:id="@+id/description"
于 2013-10-23T07:51:46.693 回答
2

我能够使用您在上面提供的布局显示文本,但仅用于“描述”和“用户名”,“喜欢”隐藏在最后一个 ImageView 后面,尝试使用android:layout_toLeftOf="@id/id_of_image"喜欢。我只对方形图像进行了快速测试,根据您的实际图像,您可能有更多隐藏视图,但这证实了问题在于 xml。尝试重新排列您的 xml,以便您的视图不会相互重叠。快乐编码!

于 2013-10-23T08:10:35.073 回答
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());
于 2013-10-23T08:13:21.510 回答
0

如果您在 TextViews 的布局 XML 中硬编码一个字符串,您是否尝试过 TextViews 中是否显示文本?也许视图只是不可见,在这种情况下尝试重新安排您的布局。

于 2013-10-23T07:58:50.750 回答