2014-02-03 5 views
2

В моей программе я использую универсальный загрузчик изображений. В моем списке размеров строк выполняется весь экран, который я искал, но я не мог найти, что вызывает его, поэтому вот мой адаптерAndroid ListView Rows принимает весь экран

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; 
    } 
} 

и вот моя одна строка для использования в методе 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> 

Любая помощь будет оценена.

ответ

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 

Edit: теперь получил указать свой android:background="@drawable/background" могут имеющий большой размер. поэтому, пожалуйста, проверьте background изображение затем попробуйте. он может заполнить экран, потому что ваше изображение background имеет размер больше, чем размер экрана. Вам нужно установить правильный размер изображения background.

+0

Это не сработало. –

+0

@EsatTaha: теперь проверьте мое обновление ... –

+2

Это работает благодаря. Это было обратное изображение, которое было слишком большим, и я думал добавить, что там все равно спасибо за вашу помощь. –

1

это связано с вашим определением строки:

<RelativeLayout 
... 
android:layout_height="fill_parent" 

fill_parent кстати осуждается вам следует использовать вместо match_parent. fill_parent означает, что он должен заполнить все имеющиеся экран, так что вы, вероятно, должны repace его wrap_contents

0

удалить вариант fillParent из RelativeLayout ..

1

Изменение вашего родственника раскладку

android:layout_width="wrap_content" 
android:layout_height="wrap_content" 

Благодарности

+0

Это не сработало. –

0

Вы должны создать список вашей высоты строки с wrap_content.

Как это

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:background="@drawable/background"> 
Смежные вопросы