代码之家  ›  专栏  ›  技术社区  ›  Casebash

Android ListView-第一项不同

  •  0
  • Casebash  · 技术社区  · 15 年前

    出于某种原因,第二行的文本宽度为0。

    <>代码:

    public linearlayout getview(int position,view convertview,viewgroup parent){
    线性布局行视图;
    if(convertview==null){
    rowview=(linearlayout)mactivity.getlayoutinflator().inflat(r.layout.icon_list,空);
    否则{!
    rowview=(linearlayout)convertview;
    }
    //图像视图
    imageview imageview=(imageview)rowview.findview byid(r.id.list_icon);
    pair<string,bitmap>p=getitem(位置);
    imageview.setimagebitmap(每秒);
    //文本视图
    textView textView=(textView)rowView.findView byid(r.id.list_text);
    textview.settext(“aaaa”);
    返回行视图;
    }
    < /代码> 
    
    

    XML:

    <?xml version=“1.0”encoding=“utf-8”?gt;
    <linearlayout xmlns:android=“http://schemas.android.com/apk/res/android”
    android:layout_width=“填充父级”
    android:layout_height=“20dip”
    android:id=“@+id/图标\u列表”
    android:padding=“6dip”>
    
    <imageview android:id=“@+id/列表图标”
    android:layout_width=“包装内容”
    android:layout_height=“填充父级”
    android:layout_marginright=“6dip”
    android:layout_gravity=“left”/>
    
    <textView Android:id=“@+id/列表\u文本”
    android:layout_width=“包装内容”
    android:layout_height=“填充父级”
    android:gravity=“center_vertical”/>gt;
    
    </linearlayout>
    < /代码> 
    
    

    编辑:

    在我不小心掉队之前。

    android:src=“@drawable/icon”
    < /代码> 
    
    

    我把它拆了,但问题仍然存在

    alt text

    代码:

    public LinearLayout getView(int position, View convertView, ViewGroup parent){
        LinearLayout rowView;
        if(convertView==null){
            rowView=(LinearLayout) mActivity.getLayoutInflater().inflate(R.layout.icon_list, null);
        }else{!
            rowView=(LinearLayout) convertView;
        }
        //Image view
        ImageView imageView=(ImageView) rowView.findViewById(R.id.list_icon);
        Pair<String,Bitmap> p=getItem(position);
        imageView.setImageBitmap(p.second);
        //Text view
        TextView textView=(TextView) rowView.findViewById(R.id.list_text);
        textView.setText("AAAA");
        return rowView;
    }
    

    XML:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="20dip"
        android:id="@+id/icon_list"
        android:padding="6dip">
    
        <ImageView android:id="@+id/list_icon"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_marginRight="6dip"
            android:layout_gravity="left"/>
    
        <TextView android:id="@+id/list_text"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:gravity="center_vertical"/>
    
    </LinearLayout>
    

    编辑:

    在我不小心掉队之前。

    android:src="@drawable/icon"
    

    我把它拿走了,但问题仍然存在

    1 回复  |  直到 15 年前
        1
  •  0
  •   Casebash    15 年前

    这不是一个很好的答案,但效果很好。我设定 layout_width layout_height 安卓系统 45dip . 这就导致一切正常工作。我仍然不明白它是如何被允许忽略的 android:layout_height="20dip" 对于该部分。