powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / BaseAdapter
14 сообщений из 14, страница 1 из 1
BaseAdapter
    #38894585
Бихолдер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Помогите, пожалуйста, правильно настроить getView.
Как правильно настроить?
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
class adapter_contacts extends BaseAdapter {
	
	Context context;
	ArrayList<HashMap<String, Object>> rows;

	public adapter_contacts(Context context) {
		this.context = context;
		this.rows = getAllPhones();
	}

	public int getCount() {
		return rows.size();
	}
	
	@Override
	public Object getItem(int position) {
		return null;
	}

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

	public View getView(int position, View convertView, ViewGroup parent) {
		//if (convertView == null) {
		
			convertView =  ((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.fragment_blacklist_dialog_item0_row, parent, false);
			
			TextView textView1 = (TextView) convertView.findViewById(R.id.textView1);
			textView1.setText(String.valueOf(rows.get(position).get("NAME1")));
			
			TextView textView2 = (TextView) convertView.findViewById(R.id.textView2);
			textView2.setText(String.valueOf(rows.get(position).get("NAME2")));
			
			TextView textView3 = (TextView) convertView.findViewById(R.id.textView3);
			textView2.setText(String.valueOf(rows.get(position).get("NAME3")));
		//};

		return convertView;
	}
}


Очень нужно. Хелп!
...
Рейтинг: 0 / 0
BaseAdapter
    #38894596
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да ты шутишь наверное. весь интернет ломится от примеров listview + adapter

P.S. за название класса adapter_contacts пойди ударь себя по пальцам линейкой.
...
Рейтинг: 0 / 0
BaseAdapter
    #38894643
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БихолдерКак правильно настроить?
Начни отсюда http://startandroid.ru/ru/uroki/vse-uroki-spiskom/109-urok-50-simpleadapter-ispolzuem-viewbinder.html
И там далее двигайся. Вообще тот сайт очень полезен для старта.
...
Рейтинг: 0 / 0
BaseAdapter
    #38894644
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaP.S. за название класса adapter_contacts пойди ударь себя по пальцам линейкой.
Кстати, да. Названия классов пишутся с большой буквы, экземпляры - с маленькой.
...
Рейтинг: 0 / 0
BaseAdapter
    #38894983
Бихолдер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanБихолдерКак правильно настроить?
Начни отсюда http://startandroid.ru/ru/uroki/vse-uroki-spiskom/109-urok-50-simpleadapter-ispolzuem-viewbinder.html
И там далее двигайся. Вообще тот сайт очень полезен для старта.
ViewBinder я проходил.
Мне нужно именно BaseAdapter настроить. В инете смотрел примеры с вьюхолдером, но так и не разобрался...
То, что я выложил оно работает, но как будто бы медленно...
Eclipse ругается на строку
Код: javascript
1.
convertView =  ((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.fragment_blacklist_dialog_item0_row, parent, false);


Unconditional layout inflation from view adapter: Should use View Holder pattern (use recycled view passed into this method as the second parameter) for smoother scrolling

Помогите, пожалуйста, просто в getView поправьте или допишите, что нужно.
...
Рейтинг: 0 / 0
BaseAdapter
    #38895690
Бихолдер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: javascript
1.
Unconditional layout inflation from view adapter: Should use View Holder pattern (use recycled view passed into this method as the second parameter) for smoother scrolling


use View Holder - как его использовать? Помогите доделать мой код.
...
Рейтинг: 0 / 0
BaseAdapter
    #38895734
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViewHolder это класс, который хранит ссылки на контролы, содержащиеся в строке.
Например:
Код: java
1.
2.
3.
4.
    class ListViewHolder {
        TextView tv;
        long tag;
    }


ВьюХолдер формируется на стадии создания view адаптера:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public View newView(Context context, Cursor cursor, ViewGroup parent) {
            View view = mInflater.inflate(R.layout.drawer_list_item, null);
            ListViewHolder vh = new ListViewHolder();
            vh.tv = (TextView) view.findViewById(android.R.id.text1);
            view.setTag(vh);
            vh.tv.setTextColor(Color.DKGRAY);
            return view;
        }


Так он запоминается и когда нужно к нему имеется доступ.

На этапе bindView:
Код: java
1.
2.
3.
4.
@Override
        public void bindView(View view, Context context, Cursor cursor) {
            ListViewHolder vh = (ListViewHolder)view.getTag();
            if (vh != null) { }


На этапе клика по позиции:
Код: java
1.
Adapter.getView(...).getTag()
...
Рейтинг: 0 / 0
BaseAdapter
    #38895741
Бихолдер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это понял bindView, а с getView как настроить?
...
Рейтинг: 0 / 0
BaseAdapter
    #38895772
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БихолдерЭто понял bindView, а с getView как настроить?
А там что настраивать?
...
Рейтинг: 0 / 0
BaseAdapter
    #38895867
Бихолдер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы считаете, что код который в первом посте - верный?
Eclipse так не считает и предлагает использовать в коде ViewHolder.
Как его применить в моём коде? Моя цель кэширование записей - чтобы они постоянно не подгружались
...
Рейтинг: 0 / 0
BaseAdapter
    #38895884
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. В getView не стоит каждый раз дергать context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)), нужно сделать это однажды, в конструкторе класса.
2. Там же, в getView нужно предусмотреть ситуацию, когда convertView не пустой и нет смысла создавать все с нуля, используя этот самый viewHolder, который был заполнен ранее;

БихолдерEclipse так не считает и предлагает использовать в коде ViewHolder.
Кстати, как эклипс об этом пишет?
...
Рейтинг: 0 / 0
BaseAdapter
    #38895887
Бихолдер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Unconditional layout inflation from view adapter: Should use View Holder pattern (use recycled view passed into this method as the second parameter) for smoother scrolling
...
Рейтинг: 0 / 0
BaseAdapter
    #38895891
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бихолдерuse recycled view passed into this method as the second parameter
Пункт 2 моего предыдущего сообщения как раз об этом.
...
Рейтинг: 0 / 0
BaseAdapter
    #38895899
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БихолдерUnconditional layout inflation from view adapter
А это пункт 1. :)
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / BaseAdapter
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]