Hey Leute ich bin neu zu Xamarin Android, ich erstellt eine Listview, die Wert von JSON Format nimmt ich möchte den Namen oder die ID der ListView angeklickt Artikel und ich weiß nicht wie ..erhalten Daten von ListView Element auf klicken
hier ist meine Klasse
class Doctors
{
public int id;
public string Name;
public string address;
public string spec;
public string rating;
public string fee;
public Doctors(string Name, string address, string spec, string rating, string fee)
{
this.Name = Name;
this.address = address;
this.spec = spec;
this.rating = rating;
this.fee = fee;
}
}
und hier ist mein Adapter
class DoctorsAdapter : BaseAdapter<Doctors>
{
private Context mContext;
private int mRowLayout;
private List<Doctors> mFriends;
public DoctorsAdapter(Context context, int rowLayout, List<Doctors> friends)
{
mContext = context;
mRowLayout = rowLayout;
mFriends = friends;
}
public override int Count
{
get { return mFriends.Count; }
}
public override Doctors this[int position]
{
get { return mFriends[position]; }
}
public override long GetItemId(int position)
{
return position;
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
View row = convertView;
if (row == null)
{
row = LayoutInflater.From(mContext).Inflate(mRowLayout, parent, false);
}
TextView name = row.FindViewById<TextView>(Resource.Id.docname);
name.Text = mFriends[position].Name;
TextView spec = row.FindViewById<TextView>(Resource.Id.docspec);
spec.Text = mFriends[position].spec;
TextView address = row.FindViewById<TextView>(Resource.Id.docadd);
address.Text = mFriends[position].address;
TextView feeetv = row.FindViewById<TextView>(Resource.Id.feetv);
feeetv.Text = mFriends[position].fee;
RatingBar doctorrating = row.FindViewById<RatingBar>(Resource.Id.docrating);
doctorrating.Rating = Int32.Parse(mFriends[position].rating);
return row;
}
}
und dies die Methode, die Listenansicht mit json
auffülltprivate void populatelistview()
{
if (jsonString == null)
{
Toast.MakeText(this, "json is null", ToastLength.Long);
}
else
{
try
{
// jsonobject = JObject.Parse(jsonString);
jsonArray = JArray.Parse(jsonString);
mDoctors = new List<Doctors>();
int count = 0;
while (count < jsonArray.Count)
{
Doctors doctor = new Doctors(jsonArray[count]["Name"].ToString(), jsonArray[count]["spec"].ToString(), jsonArray[count]["address"].ToString(), jsonArray[count]["rating"].ToString(), jsonArray[count]["fees"].ToString());
// Toast.MakeText(this, jsonArray[count]["name"].ToString(), ToastLength.Long).Show();
mDoctors.Add(doctor);
count++;
}
mListView = FindViewById<ListView>(Resource.Id.docview);
mAdapter = new DoctorsAdapter(this, Resource.Layout.ticket_result, mDoctors);
mListView.Adapter = mAdapter;
mListView.ItemClick += MListView_ItemClick;
}
catch (System.Exception exception)
{
Toast.MakeText(this, exception.ToString(), ToastLength.Long);
}
}
Mögliches Duplikat von [Android Listenansicht erhalten ausgewählten Artikel] (http://StackOverflow.com/Questions/4508979/Android-Listview-Get-selected-ITEM) –