powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Кастомный адаптер
9 сообщений из 9, страница 1 из 1
Кастомный адаптер
    #38754263
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Помогите пожалуйста разобраться в моём вопросе.

Я создал кастомный адаптер , но он неправильно работает.
1.При добавлении строк которые уходят с видимой части экрана , все строки в массиве , начинают беспорядочно менять значение.
2.Адаптер ,добавляет в ListView TextView с низу списка, а не так как у ArrayList<String> с верху списка.

Привожу код адаптера :

Код: java
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.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
import java.util.ArrayList;

import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;


public class BoxAdapter extends BaseAdapter {

	  Context ctx;
	  LayoutInflater lInflater;
	  ArrayList<String> objects;			  
	  String tolo2="---";
	  TextView tvDescr;
//----------------------------------- Конструктор -------------------	  
	  BoxAdapter(Context context, ArrayList<String> catnames2) {
	    ctx = context;
	    objects = catnames2;	   
	    lInflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
	  }
 //------------------------------------------------------
	  // кол-во элементов
	  @Override
	  public int getCount() {
	    return objects.size();
	  }
	  // элемент по позиции
	  @Override	  
	  public Object getItem(int position) {
	    return objects.get(position);
	  }
	  // id по позиции
	  @Override
	  public long getItemId(int position) {
	    return position;
	  }
//------------------------------------------------------
////////////////	  
	  // пункт списка
	  @Override
	  public View getView(int position, View convertView, ViewGroup parent)
	  {     
	    View view = convertView;
	    if (convertView == null) 
	    {
	      view = lInflater.inflate(R.layout.item2, parent, false);
	      Log.i("Лог массива getCount() - "+getCount() ,tolo2);
	      ((TextView) view.findViewById(R.id.tvDescr)).setText((CharSequence) objects.get(0));
	    }
	    return view;
	  }
////////////////
	}



При нажатии на кнопку , адаптер должен выводить строку "Hello" с цифрой . Цифра должна увеличиваться с каждой добавленной строкой.
Видео :
www.youtube.com/watch?v=4PxIcJiJhDM&feature=youtu.be


[youtube=
YouTube Video
...
Рейтинг: 0 / 0
Кастомный адаптер
    #38754506
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему objects.get(0) ? в метод getView параметр int position для кого передается, для римского папы?
...
Рейтинг: 0 / 0
Кастомный адаптер
    #38754515
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати зачем самому реализовывать хранение элементов и все, что с ним связано? про ArrayAdapter слыхал?
...
Рейтинг: 0 / 0
Кастомный адаптер
    #38754558
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,

ArrayAdapter я уже использовал , но мне нужен адаптер который бы обрабатывал одновременно Checkbox и TextView .
...
Рейтинг: 0 / 0
Кастомный адаптер
    #38754562
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,

Спасибо сейчас попробую так
((TextView) view.findViewById(R.id.tvDescr)).setText((CharSequence) objects.get(position));
...
Рейтинг: 0 / 0
Кастомный адаптер
    #38754575
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
Ооо Спасибо большое)) Всё заработало ) Еще бы если бы сделать вновь поступившая информация добавлялась с верху списка а не снизу.
...
Рейтинг: 0 / 0
Кастомный адаптер
    #38754626
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НикоДимиденArrayAdapter я уже использовал , но мне нужен адаптер который бы обрабатывал одновременно
у тебя какое-то фундаментальное недопонимание того, как устроены адаптеры

авторArrayAdapter is a concrete BaseAdapter that is backed by an array of arbitrary objects. By default this class expects that the provided resource id references a single TextView. If you want to use a more complex layout, use the constructors that also takes a field id. That field id should reference a TextView in the larger layout resource.

However the TextView is referenced, it will be filled with the toString() of each object in the array. You can add lists or arrays of custom objects. Override the toString() method of your objects to determine what text will be displayed for the item in the list.

To use something other than TextViews for the array display, for instance, ImageViews, or to have some of data besides toString() results fill the views, override getView(int, View, ViewGroup) to return the type of view you want.



НикоДимиденЕще бы если бы сделать вновь поступившая информация добавлялась с верху списка а не снизу.
ну так и добавляй в начало - переопредели метод add адаптера и вызывай в нем insert(T object, int index). но сначала перепиши под ArrayAdapter и убери все ненужные методы и объекты.
...
Рейтинг: 0 / 0
Кастомный адаптер
    #38755437
Фотография НикоДимиден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
Вот так сделал и всё получилось

catnames.add(0," Hello "+i1); //Добавляем текст в массив

Но теперь проблема в отображении Checkbox . Когда я ставлю галочку на Checkbox , то еще одна галочка появляется в тех четбоксах , которых не видно в данные момент на экране.



Мне хочется научиться хорошо разбираться в адаптерах и их уметь создавать .
...
Рейтинг: 0 / 0
Кастомный адаптер
    #38755870
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НикоДимиден,

на стартандроиде есть статьи про адаптеры.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Кастомный адаптер
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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