Спасибо 0X0nosugar, мне удалось с помощью вашего руководства.
Адаптер заполнен элементами из itemLIST.
Однако при прокрутке вверх и вниз возникает проблема. Элементы, кажется, случайно меняются местами. Почему это происходит?
List<String> itemLIST = new List<String>();
for (int i = 0; i < 15; i++)
{
itemLIST.Add("hello" + i);
}
Adapter1 adapter1 = new Adapter1(this, Android.Resource.Layout.SimpleListItem1, itemLIST);
listView1.Adapter = adapter1;
Код для адаптера1:
class Adapter1 : BaseAdapter
{
Context context;
int item = 0;
List<String> items = new List<String>();
public Adapter1(Context context, int resource, List<String> itemArray)
{
items = itemArray;
item = resource;
this.context = context;
}
public override Java.Lang.Object GetItem(int position)
{
return position;
}
public override long GetItemId(int position)
{
return position;
}
//public override int getItemCount()
//{
// return items.Count(); //returns total of items in the list
//}
public String getItem(int position)
{
return items[position]; //returns list item at the specified position
}
public override int GetItemViewType(int position)
{
return position;
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
var view = convertView;
Adapter1ViewHolder holder = null;
if (view != null)
holder = view.Tag as Adapter1ViewHolder;
if (holder == null)
{
holder = new Adapter1ViewHolder();
var inflater = context.GetSystemService(Context.LayoutInflaterService).JavaCast<LayoutInflater>();
view = inflater.Inflate(Resource.Layout.textview, parent, false);
String currentItem = getItem(position);
//get the TextView for item name and item description
TextView textViewItemName = view.FindViewById<TextView>(Resource.Id.itemtext);
//sets the text for item name and item description from the current item object
textViewItemName.SetText(currentItem, TextView.BufferType.Normal);
holder.Title = textViewItemName;
view.Tag = holder;
}
return view;
}
//Fill in cound here, currently 0
public override int Count
{
get
{
return items.Count;
}
}
}
class Adapter1ViewHolder : Java.Lang.Object
{
//Your adapter views to re-use
public TextView Title { get; set; }
}