Хорошо, я исправляю элемент «click». Я получаю правильные значения. Но скажите, как использовать LongClick? и получить значения для этого элемента в новой форме? Это новый код для BaseAdapter:
using System;
using System.Collections.Generic;
using Android.App;
using Android.Content;
using Android.Views;
using Android.Widget;
using NovaAndroid.Model;
namespace NovaAndroid.Adapters
{
[Activity(Label = "ContactListBaseAdapter")]
public partial class ContactListBaseAdapter : BaseAdapter<the_SetSubjModel>
{
IList<the_SetSubjModel> contactListArrayList;
private LayoutInflater mInflater;
private Context activity;
the_SetSubjModel model = new the_SetSubjModel();
Dictionary<int, the_SetSubjModel> items;
private Context mContext;
private int mRowLayout;
public ContactListBaseAdapter(Context context, IList<the_SetSubjModel> results,
int rowLayout)
{
this.activity = context;
this.items = items;
context = context;
mContext = context;
mRowLayout = rowLayout;
contactListArrayList = results;
mInflater =
(LayoutInflater)activity.GetSystemService(Context.LayoutInflaterService);
}
public override int Count
{
get { return contactListArrayList.Count; }
}
public override long GetItemId(int position)
{
return position;
}
public override the_SetSubjModel this[int position]
{
get { return items[position]; }
}
public override Java.Lang.Object GetItem(int position)
{
return position;
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
View view = convertView;
if(view==null)
{
// view = LayoutInflater.From(mContext).Inflate(mRowLayout, parent,
false);
//view = Layou // view =
context.tInflater.From(mContext).Inflate(mRowLayout, parent, false);
//view =
LayoutInflater.From(mContext).Inflate(Resource.Layout.list_row_contact_list, null);
}
//ImageView btnDelete;
//ContactsViewHolder holder = null;
view = mInflater.Inflate(Resource.Layout.list_row_contact_list, null);
//holder = new ContactsViewHolder();
//// Show item in listView
//holder.txtacSubject = view.FindViewById<TextView>
(Resource.Id.lr_fullName);
//holder.txtacAddress = view.FindViewById<TextView>
(Resource.Id.lr_address);
//holder.txtEmail = view.FindViewById<TextView>(Resource.Id.lr_email);
//holder.txtPib = view.FindViewById<TextView>(Resource.Id.lr_pib);
//view.Tag = holder;
TextView txtacSubject = view.FindViewById<TextView>(Resource.Id.lr_fullName);
txtacSubject.Text = contactListArrayList[position].acSubject;
TextView txtacAddress = view.FindViewById<TextView>(Resource.Id.lr_address);
txtacAddress.Text = contactListArrayList[position].acAddress;
TextView txtEmail = view.FindViewById<TextView>(Resource.Id.lr_email);
txtEmail.Text = contactListArrayList[position].acPost;
TextView txtPib = view.FindViewById<TextView>(Resource.Id.lr_pib);
txtPib.Text = contactListArrayList[position].acCode;
if (position % 2 == 0)
{
view.SetBackgroundResource(Resource.Drawable.list_selector);
}
else
{
view.SetBackgroundResource(Resource.Drawable.list_selector_alternate);
}
view.Click += delegate
{
Toast.MakeText(mContext, contactListArrayList[position].acSubject,
ToastLength.Short).Show();
};
view.LongClick += delegate
{
};
return view;
}
public IList<the_SetSubjModel> GetAllData()
{
return contactListArrayList;
}
public class ContactsViewHolder : Java.Lang.Object
{
public TextView txtacSubject { get; set; }
public TextView txtacAddress { get; set; }
public TextView txtEmail { get; set; }
public TextView txtPib { get; set; }
public TextView txtacName2 { get; set; }
public TextView txtacPhone { get; set; }
public TextView txtacRegNo { get; set; }
public TextView txtanRebate { get; set; }
}
class ContactListBaseAdapterViewHolder : Java.Lang.Object
{
//Your adapter views to re-use
//public TextView Title { get; set; }
}
}
}
Это моя новая форма, где я должен показывать данные для элемента «Long Long»
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Newtonsoft.Json;
using NovaAndroid.Model;
namespace NovaAndroid
{
[Activity(Label = "Prikaz detalja kupci")]
public class AddEditActivity : Activity
{
EditText txtacSubject, txtacAddress, txtEmail,
txtPib,txtCountry,txtName,txtPhone,txtacRegNo,txtanRebate;
Button btnBack;
the_SetSubjModel model = new the_SetSubjModel();
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.AddEditToDoItem);
txtacSubject = FindViewById<EditText>(Resource.Id.addEdit_acSubject);
txtacAddress = FindViewById<EditText>(Resource.Id.addEdit_address);
txtEmail = FindViewById<EditText>(Resource.Id.addEdit_email);
txtPib = FindViewById<EditText>(Resource.Id.addEdit_PIB);
txtCountry= FindViewById<EditText>(Resource.Id.addEdit_acCountry);
txtName = FindViewById<EditText>(Resource.Id.addEdit_acName2);
txtPhone = FindViewById<EditText>(Resource.Id.addEdit_acPhone);
txtacRegNo = FindViewById<EditText>(Resource.Id.addEdit_acRegNo);
txtanRebate = FindViewById<EditText>(Resource.Id.addEdit_anRebate);
btnBack = FindViewById<Button>(Resource.Id.addEdit_btnBack);
btnBack.Click += BtnBack_Click;
string acSubject = Intent.GetStringExtra("acSubject") ??
string.Empty;
string acAddress = Intent.GetStringExtra("acAddress") ??
string.Empty;
string editMail = Intent.GetStringExtra("acPost") ?? string.Empty;
string editPib = Intent.GetStringExtra("acCode") ?? string.Empty;
string editCountry = Intent.GetStringExtra("acCountry") ??
string.Empty;
string editacName2 = Intent.GetStringExtra("acName2") ??
string.Empty;
string editacPhone = Intent.GetStringExtra("acPhone") ??
string.Empty;
string editacRegNo = Intent.GetStringExtra("acRegNo") ??
string.Empty;
string editanRebate = Intent.GetStringExtra("anRebate") ??
string.Empty;
if (acSubject.Trim().Length > 0)
{
txtacSubject.Text = acSubject;
txtacAddress.Text = acAddress;
txtEmail.Text = editMail;
txtPib.Text = editPib;
txtCountry.Text = editCountry;
txtName.Text = editacName2;
txtPhone.Text = editacPhone;
txtacRegNo.Text = editacRegNo;
txtanRebate.Text = editanRebate;
}
}
private void BtnBack_Click(object sender, EventArgs e)
{
var activityBack = new Intent(this, typeof(ToDoItemActivity));
StartActivity(activityBack);
}
}
}