一个完整的spinner从服务器获取数据然后显示的过程,同时对重复显示数据进行了处理
adapter.notifyDataSetChanged();
private static String[] m = null;
private List<SpinnerBean.ListBean> list_spinner;
private List<String> list1 = new ArrayList<String>();
//spinner数据
HttpUtils http2 = new HttpUtils();
http2.send(HttpRequest.HttpMethod.GET, HttpUrl.User_Spinner, new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
String str = responseInfo.result;
L.d("HomePager", str);
Gson gson = new Gson();
SpinnerBean spinnerBean = gson.fromJson(responseInfo.result, SpinnerBean.class);
list_spinner = spinnerBean.getList();
Iterator it = list_spinner.iterator();
StringBuffer stringBuffer = new StringBuffer();
while (it.hasNext()) {
SpinnerBean.ListBean listBean = (SpinnerBean.ListBean) it.next();
String name = listBean.getName();
list1.add(name);
}
m = new String[list1.size()];
m = list1.toArray(m);
//Spinner
// 将可选内容与ArrayAdapter连接起来
adapter = new ArrayAdapter<String>(mActivity, android.R.layout.simple_spinner_item, m);
//设置下拉列表的风格
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//将adapter 添加到spinner中
sr_city.setAdapter(adapter);
adapter.notifyDataSetChanged();
//添加事件Spinner事件监听
sr_city.setOnItemSelectedListener(new SpinnerSelectedListener());
//设置默认值
sr_city.setVisibility(View.VISIBLE);
}
@Override
public void onFailure(HttpException error, String msg) {
L.d("HomePager", error.getExceptionCode() + ":" + msg);
}
});
private class SpinnerSelectedListener implements AdapterView.OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
布局文件
<Spinner
android:id="@+id/sr_city"
android:layout_marginLeft="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
>
</Spinner>