アダプタから入力するリストビューがあります。私の元のコードは、データがテーブルから返されていましたが、今は結合でクエリからコードを取得する必要がありますので、私が使用したサンプルは機能しなくなり、クエリの使用方法を見つけることができませんでしたこのため。私はORMrepositoryを使用しています。私ORMrepositoryで 私は実際に私が望むデータを返します。この機能アダプタのクエリをリストビュー用に使用する
public IList<Coe> GetmyCoe()
{
using (var database = new SQLiteConnection(_helper.WritableDatabase.Path))
{
string query = "SELECT Coe.Id, Adult.LName + ', ' + Adult.MName AS Name, Coe.Createdt FROM Adult INNER JOIN Coe ON Adult.CoeMID = Coe.Id";
return database.Query<Coe>(query);
}
}
を持っています。 私の活動ページにはこれがあります。
_list = FindViewById<ListView>(Resource.Id.List);
FindViewById<ListView>(Resource.Id.List).ItemClick += new System.EventHandler<ItemEventArgs>(CoeList_ItemClick);
var Coe = ((OmsisMobileApplication)Application).OmsisRepository.GetmyCoe();
_list.Adapter = new CoeListAdapter(this, Coe);
マイアダプタのページでは、私は問題を抱えているところ、私はそれは私はもうやってないよテーブルを見ているのに設定されている知っています。しかし、今私はそれにどのように渡しているのか変更する方法はわかりません。現在CoeListAdapterは次のようになります。それはデータに渡され使用できるように
public class CoeListAdapter : BaseAdapter
{
private IEnumerable<Coe> _Coe;
private Activity _context;
public CoeListAdapter(Activity context, IEnumerable<Coe> Coe)
{
_context = context;
_Coe = Coe;
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
var view = (convertView
?? _context.LayoutInflater.Inflate(
Resource.Layout.CoeListItem, parent, false)
) as LinearLayout;
var Coe = _Coe.ElementAt(position);
view.FindViewById<TextView>(Resource.Id.CoeMID).Text = Coe.Id.ToString();
//view.FindViewById<TextView>(Resource.Id.GrdnMaleName).Text = Coe.Name;
view.FindViewById<TextView>(Resource.Id.CreateDt).Text = Coe.CreateDt;
return view;
}
public override int Count
{
get { return _Coe.Count(); }
}
public Coe GetCoe(int position)
{
return _Coe.ElementAt(position);
}
public override Java.Lang.Object GetItem(int position)
{
return null;
}
public override long GetItemId(int position)
{
return position;
}
}
私はCoeListAdapter.csページを設定するにはどうすればよいです。ご覧のように、Coe.NameはCoeのテーブルモデルにないので、TextViewを埋めている行がコメントアウトされています。クエリで返されます。私は自分の問題がIEnumerableだと信じていますが、私はそれを何に変更しますか?私はモバイル開発とスーピングVS2010 Monoを新しくしました