0
Bir listeye verilen yanıttan json verilerini bağlıyorum.bağlama json dizi yanıtı listesindeki liste sırasına göre xamarin android
Tepki
[{
"DDLValue":"home",
"ID":2,
"Msg":"Enough",
"Status":2
}
{
"DDLValue":"palace",
"ID":1,
"Msg":"good",
"Status":2
}]
Ben ListView
yukarıdaki json tepkisini bağlamak mümkün değilim, ama kelime "seçeneğini" ve takip eden tüm satırları yanıtı içeren bir ilk satırı istiyorum.
Mainactivity.cs
tableItems = new List<TableItem>();
var client = new RestClient("http://websites.net/");
var request = new RestRequest("Service/GetRegions", Method.POST);
request.RequestFormat = DataFormat.Json;
tableItems = client.Execute<List<TableItem>>(request).Data;
listView.Adapter = new HomeScreenAdapter(this, tableItems);
protected void OnListItemClick(object sender, Android.Widget.AdapterView.ItemClickEventArgs e)
{
string val;
if (e.Position==0)
{
region.Text = -select-;
}
else {
var t1 = tableItems[e.Position-1];
val = t1.DDLValue;
region.Text = val;
}}
HomeScreenAdapter.cs
public class HomeScreenAdapter : BaseAdapter<TableItem> {
List<TableItem> items;
Activity context;
public HomeScreenAdapter(Activity context, List<TableItem> items)
: base()
{
this.context = context;
this.items = items;
}
public override long GetItemId(int position)
{
return position;
}
public override TableItem this[int position]
{
get { return items[position]; }
}
public override int Count
{
get { return items.Count+1; }
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
var item = items[position];
View view = convertView;
if (view == null) // no view to re-use, create new
view = context.LayoutInflater.Inflate(Resource.Layout.CustomView, null);
view.FindViewById<TextView>(Resource.Id.Text1).Text = item.DDLValue;
return view;
}
}
nasıl fazladan İlk satırı ekleyebilirim? i belli listrow tıkladığımda ilk satır seçme seçeneği olarak görünmektedir, ancak liste görünümü olarak
, bu seçim sırasında tıklandığında o bağın arrayout verir sonraki satırda, (i sonraki satırın yani detaylar) ve TableItem nesne sağlar istisna. – dafodil
Listenizde etkinlik işleyicisini tıklatın, listenin başında "boş" öğeyi hesaplamak için dizini değiştirmeniz gerekir. – Jason
Teşekkürler Jason.I koşulu ve sıfır pozisyonu kontrol ettim.Yalnızca güncellenmiş yanıtımı gör. Ve eğer doğru bir kontrol yolu değilse lütfen beni düzeltin. Durumunda – dafodil