【发布时间】:2016-10-23 01:54:41
【问题描述】:
我正在尝试绑定来自 .net 网络服务的列表。我能够从网络服务中获取列表。但我无法将列表绑定到微调器。
private class AsyncCallWS extends AsyncTask<String, Void, Void> {
private LayoutInflater mInflater;
private List<ValueText> lstRegions;
private Activity activity;
private String strRegions;
AsyncCallWS() {
lstRegions = new LinkedList<ValueText>();
}
@Override
protected Void doInBackground(String... params) {
//Invoke webservice
try {
strRegions = WebService.invokeSelectRegionMasterWS("SelectRegionMaster");
String[] regions = strRegions.split("\\},\\{");
int i =0;
for (String s: regions) {
String strid = "", strName="";
//logic to add data to list
}
Spinner spnDivision = (Spinner)findViewById(R.id.spnDivision);
MySpinnerAdapter adptRegion =
new MySpinnerAdapter(MyActivity.this,
android.R.layout.simple_spinner_item, lstRegions);
} catch (Exception e) {
Log.e("myException", e.getMessage());
}
return null;
}
}
所以我可以从这里调用MySpinnerAdapter,但我不能使用 setadapter,因为这是工作线程。 doInBackground 方法必须是无效的。那么有什么办法可以返回列表吗?或者我可以将列表存储在类似视图状态(视图状态是 asp.net)中。我对 Java 和 Android 很陌生。我真的不知道如何前进。请帮忙。
【问题讨论】:
标签: java android android-studio spinner