Android: несколько массивов в пользовательском ArrayAdapter - PullRequest
2 голосов
/ 11 октября 2011

Я хотел бы передать несколько массивов для моего собственного ArrayAdapter.Вот мои массивы и что я хочу сделать:

String[] names = new String[]{ "One", "two", "three" };

String[] texts = new String[]{ "Bacon", "Eggs", "Cheese" };

Customadapter ap = new Customadapter(this, names, texts);
setListAdapter(ap);

и вот мой собственный ArrayAdapter:

public class Customadapter extends ArrayAdapter<String> {

    private final Activity context;
    private final String[] names;

    public Customadapter(Activity context, String[] names) {
        super(context, R.layout.row, names);
        this.context = context;
        this.names = names;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent){
        LayoutInflater inflater = context.getLayoutInflater();
        View rowView = inflater.inflate(R.layout.row, null, true);
        TextView tw1 = (TextView) rowView.findViewById(R.id.label);
        TextView tw2 = (TextView) rowView.findViewById(R.id.label2);

        String text = names[position];
        tw2.setText(text);

        return rowView;

    }

}

Ответы [ 3 ]

1 голос
/ 11 октября 2011

Вместо ArrayAdapter<Strings> необходимо создать адаптер ArrayAdapter<HashMap<String,String>>

0 голосов
/ 11 октября 2011

extension BaseAdapter вместо ArrayAdapter для начинающих, затем адаптируйте конструктор так, чтобы он также принимал текстовую строку, чтобы вы могли сохранить ее в адаптере.Это должно делать в основном.Есть некоторые методы, которые требуют переопределения afaik, но они есть в документации.

0 голосов
/ 11 октября 2011

Попробуйте вместо этого использовать SimpleAdapter .

...