/** * */ package com.keju.maomao.activity.personalnfo; import java.io.File; import java.util.ArrayList; import org.json.JSONException; import org.json.JSONObject; import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageButton; import android.widget.ListView; import android.widget.TextView; import com.keju.maomao.Constants; import com.keju.maomao.R; import com.keju.maomao.SystemException; import com.keju.maomao.activity.base.BaseActivity; import com.keju.maomao.bean.CityBean; import com.keju.maomao.helper.BusinessHelper; import com.keju.maomao.util.NetUtil; import com.keju.maomao.util.SharedPrefUtil; /** * 城市选择界面 * * @author zhouyong * @data 创建时间:2013-11-11 下午8:19:30 */ public class CityActivity extends BaseActivity implements OnClickListener { private ImageButton ibLeft; private TextView tvTitle; private Button btnRight; private ListView listview; private CityAdapter adapter; private ArrayList<CityBean> cityListBean; private int provinceId; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.city_list); provinceId = getIntent().getExtras().getInt("province"); cityListBean = (ArrayList<CityBean>) getIntent().getExtras().getSerializable(Constants.EXTRA_DATA); findView(); fillData(); } private void findView() { ibLeft = (ImageButton) this.findViewById(R.id.ibLeft); btnRight = (Button) this.findViewById(R.id.btnRight); tvTitle = (TextView) this.findViewById(R.id.tvTitle); listview = (ListView) this.findViewById(R.id.provinceList); } private void fillData() { ibLeft.setOnClickListener(this); ibLeft.setImageResource(R.drawable.ic_btn_left); btnRight.setOnClickListener(this); tvTitle.setText("地区选择"); adapter = new CityAdapter(cityListBean); listview.setAdapter(adapter); listview.setOnItemClickListener(itemListener); listview.setDividerHeight(0);//消除listview自带每个item之间的分割线 } @Override public void onClick(View v) { switch (v.getId()) { case R.id.ibLeft: finish(); break; default: break; } } /** * listview点击事件 */ OnItemClickListener itemListener = new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { String nickname = ""; String sex = ""; String signature = ""; String address = ""; String newPassword = ""; String birthday = ""; int cityId = 0; int countyId = 0; CityBean bean = cityListBean.get(arg2); if(provinceId ==1||provinceId ==2||provinceId ==9||provinceId ==22||provinceId ==1){ if (NetUtil.checkNet(CityActivity.this)) { new personInfoAddTask(nickname, birthday, sex, signature, address, newPassword, provinceId, cityId,bean.getCityId()).execute(); } }else{ if (NetUtil.checkNet(CityActivity.this)) { new personInfoAddTask(nickname, birthday, sex, signature, address, newPassword, provinceId, bean.getCityId(),countyId).execute(); } } } }; /** * * 地区适配器 * * */ private class CityAdapter extends BaseAdapter { private ArrayList<CityBean> cityListBean; /** * @param cityListBean */ public CityAdapter(ArrayList<CityBean> cityListBean) { this.cityListBean = cityListBean; } @Override public int getCount() { return cityListBean.size(); } @Override public Object getItem(int position) { return cityListBean.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { CityBean bean = cityListBean.get(position); ViewHolder holder = null; if (convertView == null) { holder = new ViewHolder(); convertView = getLayoutInflater().inflate(R.layout.popu_data_picker_item, null); holder.tvScreenArea = (TextView) convertView.findViewById(R.id.tvScreenArea); holder.creenArealine = (View) convertView.findViewById(R.id.creenArealine); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.tvScreenArea.setText(bean.getCityName()); return convertView; } class ViewHolder { private TextView tvScreenArea; private View creenArealine; } } /** * 更新个人地区信息 * * @author zhuoyong * @data 创建时间:2013-11-12 下午3:28:18 */ private class personInfoAddTask extends AsyncTask<Void, Void, JSONObject> { private String nickName; private String birthday; private String sex; private String signature; private String address; private String newPassword; private String provinceId; private String cityId; private String countyId; private File avatarFile = null; /** * @param nickName * @param birthday * @param sex * @param signature * @param address * @param newPassword * @param cityId * @param provinceId */ public personInfoAddTask(String nickName, String birthday, String sex, String signature, String address, String newPassword, int provinceId, int cityId,int countyId) { this.nickName = nickName; this.birthday = birthday; this.sex = sex; this.signature = signature; this.address = address; this.newPassword = newPassword; this.provinceId = String.valueOf(provinceId); this.cityId = String.valueOf(cityId); this.countyId = String.valueOf(countyId); if(provinceId ==1||provinceId ==2||provinceId ==9||provinceId ==22||provinceId ==1){ } } @Override protected JSONObject doInBackground(Void... params) { String openId = null; int loginType = SharedPrefUtil.getLoginType(CityActivity.this); if (loginType == Constants.LOGIN_QQ) { openId = SharedPrefUtil.getQQOpenid(CityActivity.this); } else if (loginType == Constants.LOGIN_SINA) { openId = SharedPrefUtil.getWeiboUid(CityActivity.this); } else { } int userId = SharedPrefUtil.getUid(CityActivity.this); String password = SharedPrefUtil.getPassword(CityActivity.this); if (loginType == 0) { try { return new BusinessHelper().addUserInfor(userId, loginType, password, nickName, birthday, "", signature,newPassword, provinceId, cityId,countyId,avatarFile); } catch (SystemException e) { e.printStackTrace(); } } else { try { return new BusinessHelper().thirdAddUserInfor(userId, loginType, openId, nickName, birthday, "", signature,provinceId, cityId,countyId, avatarFile); } catch (SystemException e) { e.printStackTrace(); } } return null; } @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected void onPostExecute(JSONObject result) { super.onPostExecute(result); dismissPd(); try { if (result.getInt("status") == Constants.REQUEST_SUCCESS) { setResult(RESULT_OK); showShortToast("地区修改成功"); finish(); } else { showShortToast("地区修改失败"); } } catch (JSONException e) { e.printStackTrace(); } } } }