Кастомный адаптер
Добавлено: 23 сен 2014, 09:25
Здравствуйте. Помогите пожалуйста разобраться в моём вопросе. Сижу над этим адаптером 5 суток уже 6 пошли.
Я создал кастомный адаптер , но он неправильно работает.
1.При добавлении строк которые уходят с видимой части экрана , все строки в массиве , начинают беспорядочно менять значение.
2.Адаптер ,добавляет в ListView TextView с низу списка, а не так как у ArrayList<String> с верху списка.
Привожу код адаптера :
При нажатии на кнопку , адаптер должен выводить строку "Hello" с цифрой . Цифра должна увеличиваться с каждой добавленной строкой. Но как строк становится больше чем помещается на экране , они начинают беспорядочно заполнять список.
Видео :
http://www.youtube.com/watch?v=4PxIcJiJ ... e=youtu.be
Спасибо.
Я создал кастомный адаптер , но он неправильно работает.
1.При добавлении строк которые уходят с видимой части экрана , все строки в массиве , начинают беспорядочно менять значение.
2.Адаптер ,добавляет в ListView TextView с низу списка, а не так как у ArrayList<String> с верху списка.
Привожу код адаптера :
Код: Выделить всё
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;
}
////////////////
}Видео :
http://www.youtube.com/watch?v=4PxIcJiJ ... e=youtu.be
Спасибо.