packagecn.edu.aynu.rjxy.activity;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.net.HttpURLConnection;importjava.net.URL;importjava.util.ArrayList;importjava.util.List;importjava.util.Map;importorg.apache.http.HttpResponse;importorg.apache.http.StatusLine;importorg.apache.http.client.ClientProtocolException;importorg.apache.http.client.HttpClient;importorg.apache.http.client.methods.HttpGet;importorg.apache.http.impl.client.DefaultHttpClient;importorg.json.JSONArray;importorg.json.JSONException;importorg.json.JSONObject;importcn.edu.aynu.rjxy.entity.Data;importcn.edu.aynu.rjxy.utils.SharedPreferencesUtils;importandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.util.Log;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.view.ViewGroup;importandroid.widget.AdapterView;importandroid.widget.AdapterView.OnItemClickListener;importandroid.widget.BaseAdapter;importandroid.widget.CheckBox;importandroid.widget.CompoundButton;importandroid.widget.CompoundButton.OnCheckedChangeListener;importandroid.widget.ListView;importandroid.widget.TextView;importandroid.widget.Toast;public class SetlectActivity extendsActivity {private static final int CHANGE_UI = 1;private static final int CHANGE = 3;privateListView lv;private List datas = new ArrayList();//主线程创建消息处理器
private Handler handler = newHandler(){public voidhandleMessage(android.os.Message msg) {if (msg.what ==CHANGE_UI) {try{
JSONArray arr= newJSONArray((String)msg.obj);for (int i = 0; i < arr.length(); i++) {
JSONObject temp=(JSONObject) arr.get(i);//Log.d("json", temp.getInt("id")+temp.getString("exp_name")+temp.getString("exp_tech"));
Data data = newData();
data.setId(temp.getInt("id"));
data.setExp_name(temp.getString("exp_name"));
data.setExp_tech(temp.getString("exp_tech"));//这个地方可以获取到值但是适配器那位0
datas.add(data);
}
lv.setAdapter(newMyAdapter());
}catch(JSONException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}else if (msg.what ==CHANGE) {
Toast.makeText(SetlectActivity.this,(String)msg.obj, 1).show();
}
};
};privateString sno;privateString id;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_select);
lv=(ListView) findViewById(R.id.lv);
select();//取出账号和密码
Map userInfo = SharedPreferencesUtils.getUserInfo(this);if (userInfo != null) {
sno= userInfo.get("sno");
id= userInfo.get("id");
}
lv.setOnItemClickListener(newOnItemClickListener() {
@Overridepublic void onItemClick(AdapterView> parent, View view, intposition,longid) {
}
});
}private voidselect(){//子线程更新UI
newThread(){public voidrun(){
StringBuilder builder= newStringBuilder();
HttpClient client= newDefaultHttpClient();
String path= "http://10.6.78.254:2016/xampp/graduate/index.php/home/Student/test_android";
HttpGet httpGet= newHttpGet(path);try{
HttpResponse response=client.execute(httpGet);
StatusLine statusLine=response.getStatusLine();int statusCode =statusLine.getStatusCode();if (statusCode == 200) {
BufferedReader reader= newBufferedReader
(new InputStreamReader(response.getEntity().getContent(),"UTF-8"));for(String s=reader.readLine();s!=null;s=reader.readLine())
{
builder.append(s);
}
String content=builder.toString();
System.out.println(content);//通知主线程更新UI
Message message = newMessage();
message.what=CHANGE_UI;
message.obj=content;
handler.sendMessage(message);
}else{
Log.e(HomeActivity.class.toString(), "Failed");
}
}catch(ClientProtocolException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}
};
}.start();
}class MyAdapter extendsBaseAdapter{
@Overridepublic intgetCount() {
Log.d("AAA", ""+datas.size());returndatas.size();
}
@Overridepublic Object getItem(intposition) {returndatas.get(position);
}
@Overridepublic long getItemId(intposition) {returnposition;
}
@Overridepublic View getView(final intposition, View convertView, ViewGroup parent) {
View view= View.inflate(SetlectActivity.this, R.layout.item_listview, null);
TextView id=(TextView) view.findViewById(R.id.tv_id);
TextView exp_name=(TextView) view.findViewById(R.id.tv_name);
CheckBox cb_select=(CheckBox) view.findViewById(R.id.cb_select);
Data data=datas.get(position);
Log.d("aaaaa",datas.get(position).getExp_name() );
id.setText(String.valueOf(datas.get(position).getId()));
exp_name.setText(datas.get(position).getExp_name());
exp_name.setOnClickListener(newOnClickListener() {
@Overridepublic voidonClick(View v) {
Toast.makeText(SetlectActivity.this, datas.get(position).getExp_tech(),0).show();
}
});
cb_select.setOnCheckedChangeListener(newOnCheckedChangeListener() {
@Overridepublic void onCheckedChanged(CompoundButton buttonView, booleanisChecked) {if(isChecked) {boolean isSaveSuccess = SharedPreferencesUtils.saveUserInfo03(SetlectActivity.this, sno, String.valueOf(datas.get(position).getId()));
}
}
});returnview;
}
}
}