Android Listview Rows采用全屏显示

Esa*_*BIS 2 android listview

在我的程序中,我正在使用通用图像加载器.在我的列表视图中,行大小占据我搜索的所有屏幕,但我找不到导致它的原因所以这里是我的适配器

public class DynamicListView extends BaseAdapter {

ImageLoader imageLoader;
Context c;
String[] images= {"http://3.bp.blogspot.com/-Gsj-34Iyiio/ULEiyinE28I/AAAAAAAADPg/ISUQwGzSBMs/s1600/twitter.png",
        "http://a1.mzstatic.com/us/r30/Purple6/v4/99/ee/8e/99ee8e01-f089-d549-f571-1a3797ec660d/icon_256.png" ,
"http://www.wallsave.com/wallpapers/1920x1080/forces-of-nature/1526282/forces-of-nature-1526282.jpg"};
String baslik="Bslik bla bla bla bla bla";
String icerik="Icerik bla bla bla bla bla";
ArrayList<ListViews> lists = new ArrayList<ListViews>();

DynamicListView(Context c )
{
    this.c = c;
  imageLoader = ImageLoader.getInstance();

    for(int i= 0 ; i < 3 ; i++)
    {
        lists.add( new ListViews(images[i],baslik,icerik));
    }
}

@Override
public int getCount() {
    return lists.size();
}

@Override
public Object getItem(int position) {
    return lists.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View row = convertView;
    myViewHolder holder = null;
    if(row==null)
    {
        LayoutInflater inflate = (LayoutInflater) c.getSystemService(c.LAYOUT_INFLATER_SERVICE);//Butun layout u inflate'in icine aldik
        row = inflate.inflate(R.layout.dynamic_lists , parent , false ); //gerekli islemler
        holder = new myViewHolder(row);
        row.setTag(holder);
    }
    else
    {
        holder = (myViewHolder) row.getTag();
    }

    imageLoader.displayImage(lists.get(position).image,holder.image );
    holder.baslik.setText(lists.get(position).baslik);
    holder.icerik.setText(lists.get(position).icerik);

    return row;
}



class myViewHolder
{
    private ImageView image;
    private TextView baslik;
    private TextView icerik;
    myViewHolder(View v)
    {
        this.image = (ImageView) v.findViewById(R.id.ivDynamic);
        this.baslik = (TextView) v.findViewById(R.id.tvDynamic1);
        this.icerik = (TextView) v.findViewById(R.id.tvDynamic2);
    }
}


class ListViews
{
    ListViews(String image, String baslik, String icerik)
    {
        this.baslik = baslik;
        this.icerik = icerik;
        this.image = image;
    }
    String image;
    String baslik;
    String icerik;
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我在getView方法中使用的单行

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/background">

<ImageView
    android:layout_width="75dp"
    android:layout_height="75dp"
    android:id="@+id/ivDynamic"
    android:background="#FFFFFF"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#000000"
    android:text="Baslik bla bla"
    android:id="@+id/tvDynamic1"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/ivDynamic"
    android:paddingLeft="10dp"
    android:layout_alignParentRight="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textColor="#000000"
    android:text="Icerik bla bla bla"
    android:id="@+id/tvDynamic2"
    android:layout_alignBottom="@+id/ivDynamic"
    android:layout_toRightOf="@+id/ivDynamic"
    android:layout_below="@+id/tvDynamic1"
    android:paddingLeft="7dp"
    android:layout_alignParentRight="true" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

Chi*_*ori 5

android:layout_height="Wrap_content"在RelativeLayout中设置.

所以做这样的事情.

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="Wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/background">  // You need to set proper size `background` image here  
Run Code Online (Sandbox Code Playgroud)

编辑: 现在得到点你android:background="@drawable/background"可能有大尺寸.所以请检查background图像然后尝试.它可能会填满屏幕,因为您的background图像大小超过屏幕尺寸.您需要background在drawable中设置适当大小的图像.

  • 它的工作表示感谢.那是backgorund的形象,它太大了,我还在考虑补充一点,不管怎么说感谢你的帮助. (2认同)