TextView,不会设置文本

时间:2013-10-23 07:36:02

标签: java android

我有一个充满值的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>

4 个答案:

答案 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());