充电桩app代码

SelectCarActivity.java 9.5KB

    package com.electric.chargingpile.activity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.DisplayMetrics; import android.util.Log; import android.view.KeyEvent; import android.view.View; import android.view.Window; import android.widget.ImageView; import android.widget.ListView; import android.widget.PopupWindow; import com.electric.chargingpile.R; import com.electric.chargingpile.adapter.MainAdapter; import com.electric.chargingpile.adapter.MoreAdapter; import com.electric.chargingpile.application.MainApplication; import com.electric.chargingpile.data.Cars; import com.electric.chargingpile.data.Province; import com.electric.chargingpile.util.BarColorUtil; import com.electric.chargingpile.util.OkHttpUtil; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.TextView; import com.squareup.okhttp.Request; import com.squareup.okhttp.Response; import com.zhy.autolayout.L; import org.greenrobot.greendao.internal.LongHashMap; import org.json.JSONArray; import org.json.JSONObject; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class SelectCarActivity extends Activity { private DisplayMetrics dm; private PopupWindow popWindow; private MoreAdapter moreAdapter; private ListView morelist; private TextView tv; private List<Province> mainList; private ListView mainlist; private MainAdapter mainAdapter; private String pinpai ="",chexing=""; private ImageView iv_back; private View view; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_select_car); BarColorUtil.initStatusBarColor(SelectCarActivity.this); dm = new DisplayMetrics(); // 取得窗口属性 getWindowManager().getDefaultDisplay().getMetrics(dm); mainlist = (ListView)findViewById(R.id.classify_mainlist); morelist = (ListView) findViewById(R.id.classify_morelist); view = findViewById(R.id.view); iv_back = (ImageView) findViewById(R.id.iv_back); iv_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); initModle();// 添加数据 } private void downPopwindow() { if (mainList != null) { mainAdapter = new MainAdapter(this, mainList); mainAdapter.setSelectItem(0); mainlist.setAdapter(mainAdapter); pinpai = mainList.get(0).getName(); mainlist.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { pinpai = mainList.get(position).getName(); List<Cars> lists = mainList.get(position).getCities(); initAdapter(lists); mainAdapter.setSelectItem(position); mainAdapter.notifyDataSetChanged(); } }); mainlist.setChoiceMode(ListView.CHOICE_MODE_SINGLE); // 一定要设置这个属性,否则ListView不会刷新 initAdapter(mainList.get(0).getCities()); morelist.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Cars s = (Cars) moreAdapter.getItem(position); // Toast.makeText(getApplicationContext(), s.getName(), Toast.LENGTH_SHORT).show(); chexing = s.getName(); moreAdapter.setSelectItem(position); moreAdapter.notifyDataSetChanged(); Intent intent=new Intent(); intent.putExtra("pinpai", pinpai ); intent.putExtra("chexing", chexing); setResult(RESULT_OK, intent); finish(); } }); } } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_BACK) SelectCarActivity.this.finish(); return super.onKeyDown(keyCode, event); } private void initAdapter(List<Cars> lists) { moreAdapter = new MoreAdapter(this, lists); morelist.setAdapter(moreAdapter); moreAdapter.notifyDataSetChanged(); } private void initModle() { new Thread(new Runnable() { @Override public void run() { show_Data(); } }).start(); // mainList = new ArrayList<AddressEntity>(); // Gson gson = new Gson(); // String json = "{\"result\":\"Y\", \"address\":[{\"name\":\"北京\",\"custId\":\"" // + R.drawable.ic_category_1 // + "\", \"area\":[\"东城区\",\"西城区\",\"崇文区\",\"宣武区\",\"延庆县\"]},{\"name\":\"上海\", \"custId\":\"" // + R.drawable.ic_category_2 // + "\",\"area\":[\"黄浦区\",\"卢湾区\",\"徐汇区\",\"长宁区\",\"静安区\",\"其他\"]}]}"; // java.lang.reflect.Type type = new TypeToken<Bean>() { // }.getType(); // Bean b = gson.fromJson(json, type); // mainList.addAll(b.getAddress()); } private void show_Data() { String url = MainApplication.url+"/zhannew/basic/web/index.php/brand/getlist"; Log.e("url===",url); Request request = new Request.Builder().url(url).build(); Response response = null; try { response = OkHttpUtil.execute(request); if (response.code() == 200) { String json = ""; try { json = response.body().string(); } catch (IOException e) { e.printStackTrace(); } Message msg = handler.obtainMessage(); msg.what = 1; msg.obj = json; handler.sendMessage(msg); } else if (response.code() == 204) { Message msg = handler.obtainMessage(); msg.what = 5; handler.sendMessage(msg); } } catch (Exception e) { e.printStackTrace(); } } private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 1: try { mainList = new ArrayList<Province>(); Log.e("1111",msg.obj.toString()); JSONArray jsonary = new JSONArray(msg.obj.toString()); if (jsonary.length()>0 && !msg.obj.toString().equals("")) { for (int i = 0; i < jsonary.length(); i++) { JSONObject js = new JSONObject(jsonary.get(i) .toString()); Province prov = new Province(); // List<Cars> cities1 = new ArrayList<Cars>(); // Cars car1 = new Cars("name","id","brand_id"); // cities1.add(car1); // Province prov=new Province("比亚迪1", 2, car1); // Province prov=new Province("比亚迪1", 2, null); prov.setId(js.getInt("id")); prov.setName(js.getString("name")); JSONArray jsonary1 = js.getJSONArray("cars"); List<Cars> cities = new ArrayList<Cars>(); for (int j = 0; j < jsonary1.length(); j++) { JSONObject js2 = new JSONObject(jsonary1.get(j) .toString()); Cars car = new Cars(js2.getString("name"), js2.getString("id"), js2.getString("brand_id")); cities.add(car); } prov.setCities(cities); mainList.add(prov); handler.postDelayed(new Runnable() { @Override public void run() { downPopwindow(); } }, 500); } Log.e("mainList_size===",mainList.size()+""); } } catch (Exception e) { e.printStackTrace(); } // mainAdapter.notifyDataSetChanged(); // numbers.clear(); // for (int i = 0; i < pr.size(); i++) { // numbers.add(pr.get(i).getName()); // } // adapter.notifyDataSetChanged(); break; case 5: break; default: break; } } }; }