JSON配列のレスポンスをlistviewにバインドしようとしていますが、私のactivity.csクラスに何らかのエラーが発生しています。私はアンドロイドの初心者です。Json Arrayをxamarinのリストビューにバインド中にエラーが発生しました。android
WCFサービスの応答
[{
"Region":"String content",
"ID":21,
"Msg":"String content",
"Status":214
}]
regionModel.cs
public class regionModel
{
public int ID { get; set; }
public string Region { get; set; }
public string Msg { get; set; }
public int Status { get; set; }
}
Activity.cs
List<regionTable> regionItems = new List<regionTable>();
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.HomeScreen);
listView = FindViewById<ListView>(Resource.Id.List);
var client = new RestClient("http://azurewebsites.net/");
var request = new RestRequest("RegionService/GetRegions", Method.POST);
request.RequestFormat = DataFormat.Json;
regionItems = client.Execute<List<regionTable>>(request).Data;
JSONArray JA = new JSONArray(regionItems);
for (int i = 0; i < JA.Length(); i++)
{
try
{
JSONObject jsonObject = JA.GetJSONObject(i);
regionItems.Add(jsonObject.GetString("ID"));
}
catch (JSONException e)
{
// e.printStackTrace();
}
}
listView.Adapter = new HomeScreenAdapter(this,regionItems);
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; }
}
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.Region;
return view;
}
}
}
「何らかのエラーが発生しています」 - エラーの原因を正確に教えてくれれば本当に便利です。 – Jason
@Jason jsonobjectとlenghtに定義が含まれていないことを示す赤いマークのエラーが表示されます。 – dafodil
どこ?どの特定の線? *特定の*エラーメッセージは何ですか? – Jason