with - android listview с кнопками




Два массива в одном TextView в ListView (2)

Вам необходимо создать пользовательский адаптер

ArrayAdapter<HashMap<String,String>>

У меня есть вопрос, на который я хотел бы получить ответ.

У меня есть два массива, скажем:

String[] name = {"Name Nameson", "Second Name"};
String[] number = {"111 11 111", "222 22 222"};

Я хочу, чтобы у моего ListView было два TextViews в один элемент (я попытался проиллюстрировать это с изображением).

Мне удается получить f.ex. мой массив имен в список с помощью простого

lv.setAdapter(new ArrayAdapter<String>(this, R.layout.single_name, name));

У меня есть мой main.xml с моим ListView в нем, single_name.xml и single_number.xml в моей папке макета.

Поскольку я новичок в этом сайте, мне не разрешено добавлять изображение, я попытаюсь проиллюстрировать его здесь:

HEADER

(пункт 1)

Имя Nameson

111 11 111

(пункт 2)

Второе имя

222 22 222

И это продолжается в зависимости от количества контактов.

Любая помощь будет принята с благодарностью :)

Заранее спасибо!


Вам нужно будет создать пользовательский адаптер, а также настраиваемое представление для представления каждой строки в вашем списке.

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

package com.aquarius.customlistviewproject;


public class CustomListViewAdapter extends BaseAdapter{


 private ArrayList<String> album_names;

private ArrayList<String> num_photos;

 public Activity context;

public LayoutInflater inflater;

 public CustomListViewAdapter(Activity context, ArrayList<String> album_names ,     ArrayList<String> num_photos){

super();
this.album_names = album_names;
this.num_photos = num_photos;
this.context = context;
this.inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

}


public Object getItem(int position) {
    // TODO Auto-generated method stub
    return null;
}

public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
}

public int getCount() {
    // TODO Auto-generated method stub
    return album_names.size();
}

public class ViewHolder{

    ImageView thumbnail;
    TextView  title;
    TextView photos;
}

public View getView(int position, View convertView, ViewGroup parent) {

    ViewHolder holder;

    if(convertView == null){
        holder = new ViewHolder();
        convertView = inflater.inflate(R.layout.listview_row, null);

        holder.thumbnail = (ImageView)convertView.findViewById(R.id.imgViewLogo);
        holder.title = (TextView)convertView.findViewById(R.id.txtViewTitle);
        holder.photos = (TextView)convertView.findViewById(R.id.txtViewDescription);


        convertView.setTag(holder);
    }

    else
        holder = (ViewHolder)convertView.getTag();
        holder.thumbnail.setImageResource(R.drawable.imgview_drawable);

        holder.title.setText(album_names.get(position));
        holder.photos.setText(num_photos.get(position));
    return convertView;
}

}







textview