1. 先建立个空Activity,和一个列表的xml 再建立一个
2. 先建个model, 3个字段,1个ID 1个分类名 1个数量
3. 在网上把数据请求下来,得到数据包,list放在listview里显示出来
主Activity
package com.avicsafety.dangerous_chemicals;
import java.util.ArrayList;
import java.util.List;
import org.xutils.http.RequestParams;
import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.ViewInject;
import com.avicsafety.conf.Constants;
import com.avicsafety.interfaces.OnSearchResultListener;
import com.avicsafety.lib.Adapter.CommonAdapter;
import com.avicsafety.lib.Adapter.ViewHolder;
import com.avicsafety.lib.tools.tools;
import com.avicsafety.model.M_Basics_Law;
import com.avicsafety.model.M_LawTypeList;
import com.avicsafety.service.Info_LawManager;
import com.avicsafety.service.LoginManager;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
@ContentView(R.layout.activity_lawtype_list)
public class LawTypeTotalList extends BaseActivity {
@ViewInject(R.id.list_view)
private ListView list_view;
private List<M_LawTypeList> dataList;
private CommonAdapter<M_LawTypeList> mAdapter;
private Info_LawManager LawManager;
private String law_type;
private String law_name;
private String law_code;
private String start_time;
private String end_time;
private String law_keyword;
private String username;
private String password;
@Override
protected void InitializeComponent() {
// TODO Auto-generated method stub
super.InitializeComponent();
setTitle("法律法规分类");
}
@Override
protected void InitializeData() {
// TODO Auto-generated method stub
super.InitializeData();
Bundle bundle = this.getIntent().getExtras();
law_type = bundle.getString("law_type");
law_name = bundle.getString("law_name");
law_code = bundle.getString("law_code");
start_time = bundle.getString("start_time");
end_time = bundle.getString("end_time");
law_keyword = bundle.getString("law_keyword");
username =LoginManager.getLoginInfo().getUserName();
password =LoginManager.getLoginInfo().getPassword();
LawManager = new Info_LawManager();
RequestParams rp = getParams(username, password, "P_Whp_Flfg");
dataList= new ArrayList<>();
LawManager.LawTypeTotalInfo(rp, new OnSearchResultListener(){
@Override
public void onSuccess(List list) {
dataList = list;
mAdapter.setmDatas(dataList);
mAdapter.notifyDataSetChanged();
}
@Override
public void onFail(String message) {
progressDialog.dismiss();
Toast.makeText(oThis, message, Toast.LENGTH_SHORT).show();
}});
list_view.setAdapter(mAdapter = new CommonAdapter<M_LawTypeList>(oThis, dataList, R.layout.item_common_list3) {
@Override
public void convert(ViewHolder helper, M_LawTypeList item) {
helper.setText(R.id.tv_common_list_name, item.getName());
helper.setText(R.id.tv_common_list_value, item.getCount()+"");
}
});
}
private RequestParams getParams(String username, String password,
String modelClass) {
RequestParams rp = new RequestParams(Constants.PHONE_LAW_TEAM);
rp.setConnectTimeout(60000);
rp.addQueryStringParameter("userName", username);
rp.addQueryStringParameter("password", password);
rp.addQueryStringParameter("law_type", law_type);
rp.addQueryStringParameter("law_name", law_name);
rp.addQueryStringParameter("law_code", law_code);
rp.addQueryStringParameter("start_time", start_time);
rp.addQueryStringParameter("end_time", end_time);
rp.addQueryStringParameter("law_keyword", law_keyword);
rp.addQueryStringParameter("classname", "Whp_flfg");
rp.addQueryStringParameter("type", "1");
return rp;
}
@Override
protected void InitializeEvent() {
// TODO Auto-generated method stub
super.InitializeEvent();
list_view.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int index,long arg3) {
Bundle bundle = new Bundle();
bundle.putString("law_type", law_type);
bundle.putString("law_name", law_name);
bundle.putString("law_code", law_code);
bundle.putString("start_time", start_time);
bundle.putString("end_time", end_time);
bundle.putString("law_keyword", law_keyword);
bundle.putString("index", dataList.get(index).getId());
tools.startActivity(oThis, LawListActivity.class, bundle);
}});
}
Manager
private List getDataByJSONArray2(JSONArray datas) throws JSONException{
List<M_LawTypeList> list = new ArrayList<M_LawTypeList>();
for (int i = 0; i < datas.length(); i++) {
M_LawTypeList item = new M_LawTypeList();
JSONObject data = datas.getJSONObject(i);
item.setId(data.getString("lx"));
item.setName(data.getString("lxStr"));
item.setCount(data.getInt("lxsl"));
list.add(item);
}
return list;
}
public void LawTypeTotalInfo(RequestParams param, final OnSearchResultListener listener) {
// TODO Auto-generated method stub
x.http().get(param, new Callback.CommonCallback<String>() {
@Override
public void onCancelled(CancelledException arg0) {
}
@Override
public void onError(Throwable arg0, boolean arg1) {
listener.onFail("获取数据失败");
}
@Override
public void onFinished() {
}
@Override
public void onSuccess(String result) {
JSONObject res;
try {
res = new JSONObject(result);
String code = res.getString("Code");
if (code.equals("200")) {
JSONArray datas = res.getJSONArray("Response");
if (datas == null || datas.length() == 0) {
if (listener != null)
listener.onFail("没有找到数据");
}else{
List list = getDataByJSONArray2(datas);
if (listener != null)
listener.onSuccess(list);
}
} else {
// Toast.makeText(oThis, "获取数据失败",
// Toast.LENGTH_SHORT).show();
if (listener != null)
listener.onFail("获取数据失败");
}
} catch (JSONException e) {
e.printStackTrace();
L.v(e.getMessage());
// Toast.makeText(oThis, "获取数据失败",
// Toast.LENGTH_SHORT).show();
if (listener != null)
listener.onFail("服务器出错,请稍后再试");
}
}
});
}