0
自分の編集テキストが独自の値を変更し、ある行に値が入力されていれば、ほかのすべての行にも適用されるカスタムリストビューアダプタがあります。カスタムリストビューアのテキストを編集するとスクロールで値が失われる
ここは私のアダプタです using System; using System.Collections.Generic; using System.Linq; using System.Text; System.Data.SqlClientを使用している ;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Util;
using Android.Views;
using Android.Widget;
namespace Kites
{
public class Marks
{
// add any if you need more
public string StudentName { get; set; }
public string MarksScored { get; set; }
}
public class MarksListViewAdapter : BaseAdapter<Marks>
{
private List<Marks> mstuduentmarks;
private Context mcontext;
public MarksListViewAdapter (Context context, List<Marks> stud)
{
mstuduentmarks = stud;
mcontext = context;
}
public override int Count
{
get
{
return mstuduentmarks.Count;
// return mattendence.Count;
}
}
public override long GetItemId (int position)
{
return position;
}
public override Marks this[int position]
{
get
{
return mstuduentmarks [position];
// return mattendence [position];
}
}
public override View GetView (int position, View convertView, ViewGroup parent)
{
View view = convertView;
if (view == null) // otherwise create a new one
view = LayoutInflater.From(mcontext).Inflate(Resource.Layout.listview_Marks, null, false);
// set view properties to reflect data for the given row
TextView txtStudent = view.FindViewById<TextView>(Resource.Id.textStudentNameTeacherMarks);
txtStudent.Text = mstuduentmarks[position].StudentName;
EditText txtMarks = view.FindViewById<EditText> (Resource.Id.editTextTeacherMarks);
txtMarks.Text = mstuduentmarks[position].MarksScored;
txtMarks.TextChanged += (sender, e) =>
{
mstuduentmarks[position].MarksScored = txtMarks.Text;
};
return view;
}
}
}
をお試しくださいリサイクラーは、それはあなたのケースを助けるビルドビューホルダーであり表示します。 –
どうすればいいですか? –