android文本的各种事件

来源:互联网 发布:无创dna18数据辨别男女 编辑:程序博客网 时间:2024/06/06 09:56
package com.mid.hzxs;import java.text.ParseException;import java.util.ArrayList;import java.util.Calendar;import java.util.List;import java.util.Map;import org.json.JSONException;import org.json.JSONObject;import com.mid.controller.OrderController;import com.mid.controller.PersonalController;import com.mid.model.Kid;import com.mid.model.Order;import com.mid.model.Parent;import com.mid.utility.CommonConst;import android.app.AlertDialog;import android.app.DatePickerDialog;import android.app.Dialog;import android.content.DialogInterface;import android.os.Bundle;import android.text.Editable;import android.text.TextUtils;import android.text.TextWatcher;import android.util.Log;import android.view.MotionEvent;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnFocusChangeListener;import android.view.View.OnTouchListener;import android.view.ViewGroup.LayoutParams;import android.widget.Button;import android.widget.CheckBox;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.CompoundButton;import android.widget.DatePicker;import android.widget.EditText;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.TextView;import android.widget.Toast;import net.tsz.afinal.FinalActivity;import net.tsz.afinal.FinalHttp;import net.tsz.afinal.annotation.view.ViewInject;import net.tsz.afinal.http.AjaxCallBack;public class PersonalDetail extends FinalActivity {private static int jj = 0;private String kid = "kid";private String kidname = "kidname";private String kidsex = "kidsex";private String kidbirth = "birth";private String kiddelete = "kiddelete";private LinearLayout kidnamelayouts;private EditText kidnametxt;private ArrayList kidlist = new ArrayList();OnClickListener listenadd;OnClickListener listendelete;OnClickListener listensex;OnFocusChangeListener listenNameText;OnTouchListener listenTouchNameText;OnTouchListener listenNameDate;TextWatcher listenTextWatcherNameText;//OnFocusChangeListener listenNameDate;@ViewInject(id = R.id.textView_personaldetal_personalitem_name)EditText textView_personaldetal_personalitem_name;@ViewInject(id = R.id.textView_personaldetal_phone_name)EditText textView_personaldetal_phone_name;@ViewInject(id = R.id.check_personaldetal_register_getcode)CheckBox check_personaldetal_register_getcode;@ViewInject(id = R.id.button_personal_save, click = "button_personal_save_click")Button button_personal_save;@ViewInject(id = R.id.button_personaldetal_addkid)Button button_personaldetal_addkid;private String ParentId = null;private String ParentName = null;private String ParentPhone = null;private String Tpyes = null;private FinalHttp finalHttp = new FinalHttp();private static LinearLayout parent_linelayout;private PersonalController personalcontroller;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.personal_detail);GlobalApplication.AList.add(PersonalDetail.this);personalcontroller = new PersonalController(PersonalDetail.this);Tpyes = getIntent().getExtras().get("type").toString();parent_linelayout = (LinearLayout) super.findViewById(R.id.parent_linelayout);if (Tpyes.equals("edit")) {doSetupMap();}listenadd = new OnClickListener() {public void onClick(View v) {GetLinearLayoutItem(parent_linelayout, null);}};button_personaldetal_addkid.setOnClickListener(listenadd);listendelete = new OnClickListener() {public void onClick(View v) {LinearLayout layouts = (LinearLayout) v.getParent();if (layouts.getVisibility() == View.VISIBLE) {layouts.setVisibility(View.GONE);Deletekid(layouts.getTag().toString());}}};listenNameText = new OnFocusChangeListener() {public void onFocusChange(View v, boolean arg1) {kidnamelayouts = (LinearLayout) v.getParent();kidnametxt = (EditText) v;v.setFocusableInTouchMode(false);}};//listenTouchNameText=new OnTouchListener() {////@Override//public boolean onTouch(View v, MotionEvent arg1) {//LinearLayout layouts = (LinearLayout) v.getParent();//EditText txt = (EditText) v;//UpdatekidName(layouts.getTag().toString(), txt.getText()//.toString());//return false;//}//};listenTextWatcherNameText=new TextWatcher() {@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) {// TODO Auto-generated method stub}@Overridepublic void beforeTextChanged(CharSequence s, int start, int count,int after) {// TODO Auto-generated method stub}@Overridepublic void afterTextChanged(Editable s) {// TODO Auto-generated method stubUpdatekidName(kidnamelayouts.getTag().toString(), kidnametxt.getText().toString());}};listenNameDate=new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {// TODO Auto-generated method stubCalendar c=Calendar.getInstance();final View vs=v;Dialogdialogss = new DatePickerDialog(v.getContext(),new DatePickerDialog.OnDateSetListener() {public void onDateSet(DatePicker dp, int year,int month, int dayOfMonth) {StringBuffer sb = new StringBuffer();sb.append(String.format("%d-%02d-%02d",year,month + 1,dayOfMonth));EditText etTime = (EditText) vs;etTime.setText(sb);LinearLayout layouts = (LinearLayout)vs.getParent();EditText txt = (EditText) vs;UpdatekidDate(layouts.getTag().toString(), txt.getText().toString());}}, c.get(Calendar.YEAR), // �������c.get(Calendar.MONTH), // �����·�c.get(Calendar.DAY_OF_MONTH) // ��������);dialogss.show();return false;}};//listenNameDate = new OnTouchListener() {//public void onFocusChange(View v, boolean arg1) {////}//};listensex = new OnClickListener() {@Overridepublic void onClick(View v) {LinearLayout layouts = (LinearLayout) v.getParent();if (((CheckBox) v).isChecked()) {UpdatekidSex(layouts.getTag().toString(), "男");} else {UpdatekidSex(layouts.getTag().toString(), "女");}}};}//@Override//@Deprecated//protected Dialog onCreateDialog(int id) {//// TODO Auto-generated method stub//Dialog dialog=null;//Calendar c;//if(id==0)//{//c = Calendar.getInstance();//////Dialogdialog = new DatePickerDialog(this,//new DatePickerDialog.OnDateSetListener() {//public void onDateSet(DatePicker dp, int year,//int month, int dayOfMonth) {//StringBuffer sb = new StringBuffer();////sb.append(String.format("%d-%02d-%02d",//year,//month + 1,//dayOfMonth));//sb.append("  ");//datepicker.setText(sb);//datepicker.requestFocus();//}//}, c.get(Calendar.YEAR), // �������//c.get(Calendar.MONTH), // �����·�//c.get(Calendar.DAY_OF_MONTH) // ��������//);//}////return super.onCreateDialog(id);////}private void doSetupMap() {Parent model = GlobalApplication.currentparent;if (!model.getName().equals("")) {textView_personaldetal_personalitem_name.setText(model.getName());}if (!model.getPhone().equals("")) {textView_personaldetal_phone_name.setText(model.getPhone());}if(model.getKids()!=null){if (model.getKids().size() != 0) {List kidlist = model.getKids();for (int i = 0; i < kidlist.size(); i++) {Kid kidmodel = kidlist.get(i);GetLinearLayoutItem(parent_linelayout, kidmodel);}}}}private void GetLinearLayoutItem(LinearLayout parent_linelayout, Kid model) {LinearLayout layoutmodel = new LinearLayout(PersonalDetail.this);layoutmodel.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));layoutmodel.setTag(kid + jj);layoutmodel.setOrientation(LinearLayout.HORIZONTAL);EditText editname = new EditText(PersonalDetail.this);editname.setTag(kidname + jj);       editname.setOnFocusChangeListener(listenNameText);                           //editname.setOnTouchListener(listenTouchNameText);       CheckBox checksex = new CheckBox(PersonalDetail.this);checksex.setTag(kidsex + jj);checksex.setChecked(true);checksex.setOnClickListener(listensex);EditText datepicker = new EditText(PersonalDetail.this);datepicker.setFocusable(false);datepicker.setTag(kidbirth + jj);datepicker.setOnTouchListener(listenNameDate);// datepicker.setOnTouchListener(this);if (model != null) {editname.setText(model.getName());if (model.getGender().equals("男")) {checksex.setChecked(true);} else {checksex.setChecked(false);}datepicker.setText(model.getBirthdate());model.setIndex(kid + jj);model.setIsNew(0);kidlist.add(model);} else {Kid kidmodel = new Kid();kidmodel.setIndex(kid + jj);kidmodel.setIsNew(1);kidmodel.setGender("男");kidlist.add(kidmodel);}editname.addTextChangedListener(listenTextWatcherNameText);Button btn = new Button(PersonalDetail.this);btn.setText("删除");btn.setTag(kiddelete + jj);btn.setOnClickListener(listendelete);layoutmodel.addView(editname);layoutmodel.addView(checksex);layoutmodel.addView(datepicker);layoutmodel.addView(btn);parent_linelayout.addView(layoutmodel);jj++;}public void button_orderdetail_orderstatus_click(View view) {}public void button_personal_save_click(View view) {button_personal_save.setFocusable(true);for(int j=0;j<parent_linelayout.getChildCount();j++){parent_linelayout.getChildAt(j);}String parentname = textView_personaldetal_personalitem_name.getText().toString();String parentphone = textView_personaldetal_phone_name.getText().toString();Parent modelParent;if (Tpyes.equals("edit")) {modelParent = GlobalApplication.currentparent;} else {modelParent = new Parent();}modelParent.setKidlist(kidlist);modelParent.setName(parentname);modelParent.setPhone(parentphone);SaveKid(modelParent);}private void SaveKid(final Parent model) {if (model.getParentId() == null) {new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubpersonalcontroller.AddParent(model);}}).start();} else {new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubpersonalcontroller.UpdateParent(model);}}).start();}}private void doKidlist(String parentid) {String url = null;url = String.format(CommonConst.url_kidbyparentid, parentid);Log.i("do kidbyparentid search", url);finalHttp.addHeader(CommonConst.header, CommonConst.token_valuelogin);finalHttp.get(url, new AjaxCallBack() {@Overridepublic void onFailure(Throwable t, String strMsg) {// TODO Auto-generated method stubsuper.onFailure(t, strMsg);Toast.makeText(PersonalDetail.this, "error message" + strMsg,5000).show();}@Overridepublic void onLoading(long count, long current) {// TODO Auto-generated method stubsuper.onLoading(count, current);}@Overridepublic void onStart() {// TODO Auto-generated method stubsuper.onStart();}@Overridepublic void onSuccess(Object t) {// TODO Auto-generated method stubtry {JSONObject jsonobj = new JSONObject(t.toString());Parent parentmodel = Parent.SetConsultantModel(jsonobj);ParentId = parentmodel.getParentId();ParentName = parentmodel.getName();ParentPhone = parentmodel.getPhone();ArrayList kidlist = Kid.getParentlistByJsonString(t.toString());for (int i = 0; i < kidlist.size(); i++) {Kid model = kidlist.get(i);GetLinearLayoutItem(parent_linelayout, model);}} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}super.onSuccess(t);}});}private void Deletekid(String tag) {for (Kid mode : kidlist) {if (mode.getIndex().equals(tag)) {kidlist.remove(mode);break;}}}private void UpdatekidName(String tag, String name) {for (Kid mode : kidlist) {if (mode.getIndex().equals(tag)) {mode.setName(name);break;}}}private void UpdatekidSex(String tag, String sex) {for (Kid mode : kidlist) {if (mode.getIndex().equals(tag)) {mode.setGender(sex);break;}}}private void UpdatekidDate(String tag, String date) {for (Kid mode : kidlist) {if (mode.getIndex().equals(tag)) {mode.setBirthdate(date);break;}}}}

0 0
原创粉丝点击