package com.geo.smallcredit.activity; import net.tsz.afinal.FinalHttp; import net.tsz.afinal.http.AjaxCallBack; import net.tsz.afinal.http.AjaxParams; import com.geo.smallcredit.R; import com.geo.smallcredit.util.AppConfig; import com.geo.smallcredit.util.CommonUtil; import com.geo.smallcredit.util.PromptManager; import com.geo.smallcredit.util.SharedPreferencesUtils; import com.geo.smallcredit.util.ToastUtil; import com.geo.smallcredit.utils.net.InternetURL; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.text.Editable; import android.text.Selection; import android.text.TextWatcher; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.inputmethod.InputMethodManager; import android.view.Window; import android.webkit.WebView; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.Spinner; import android.widget.TextView; public class MyAddpaymentPlanActivity extends Activity implements OnClickListener, OnItemSelectedListener { private Button backBtn, sureBtn; private EditText planName, payCard, payPrice; private CheckBox cb, cb2; private TextView backtxt,payCardBtn, shiPayDataBtn, jianPayData, jianPayDataBtn; private Spinner bankName, shiPayData; private LinearLayout mReal; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.myaddpaymentplan); initView(); initClick(); Intent intent = getIntent(); backtxt.setText(intent.getStringExtra("backText")); bankCardNumAddSpace(payCard); // ����ⲿ������ʧ mReal = (LinearLayout) findViewById(R.id.traceroute_rootview); mReal.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(), 0); } }); } private void initClick() { backBtn.setOnClickListener(this); // addBtn.setOnClickListener(this); sureBtn.setOnClickListener(this); cb.setOnClickListener(this); cb2.setOnClickListener(this); bankName.setOnItemSelectedListener(this); shiPayData.setOnItemSelectedListener(this); } private void initView() { backBtn = (Button) findViewById(R.id.myaddpaymentplan_backbtn); // addBtn = (Button) findViewById(R.id.myaddpaymentplan_addbtn); sureBtn = (Button) findViewById(R.id.myaddpaymentplan_surebtn); planName = (EditText) findViewById(R.id.myaddpaymentplan_nameedit); payCard = (EditText) findViewById(R.id.myaddpaymentplan_cardnumedit); bankName = (Spinner) findViewById(R.id.myaddpaymentplan_banknamespinner); payPrice = (EditText) findViewById(R.id.myaddpaymentplan_paypriceedit); shiPayData = (Spinner) findViewById(R.id.myaddpaymentplan_shijipaydataspinner); jianPayData = (TextView) findViewById(R.id.myaddpaymentplan_jianyipaydataedit); cb = (CheckBox) findViewById(R.id.myaddpaymentplan_checkbox); cb2 = (CheckBox) findViewById(R.id.myaddpaymentplan_outcheckbox); payCardBtn = (TextView) findViewById(R.id.myaddpaymentplan_cardnumebtn); backtxt=(TextView)findViewById(R.id.myaddpaymentplan_backtext); } @Override public void onClick(View v) { String shiData = shiPayData.getSelectedItem().toString().trim(); String str_planName = planName.getText().toString().trim(); String str_payCard = payCard.getText().toString().trim(); String str_bankName = bankName.getSelectedItem().toString().trim(); String str_payPrice = payPrice.getText().toString().trim(); String str_jianPayDataString = jianPayData.getText().toString().trim(); switch (v.getId()) { case R.id.myaddpaymentplan_backbtn: this.finish(); break; // case R.id.myaddpaymentplan_addbtn: // Intent add = new Intent(MyAddpaymentPlanActivity.this, // MyAddBankActivity.class); // startActivity(add); // break; case R.id.myaddpaymentplan_surebtn: int netWork = CommonUtil .isNetworkAvailable(MyAddpaymentPlanActivity.this); if (netWork == 1 || netWork == 2 || netWork == 3) { if ("".equals(str_planName) || str_planName == null) { ToastUtil.show(MyAddpaymentPlanActivity.this, "�Բ������ļƻ�����û����д"); } else if ("".equals(str_payCard) || str_payCard == null) { ToastUtil.show(MyAddpaymentPlanActivity.this, "�Բ�������д���Ļ����"); } else if (str_payCard.length() < 16 || str_payCard.length() > 19) { ToastUtil.show(MyAddpaymentPlanActivity.this, "�Բ�������������16λ�����"); } else if ("".equals(str_bankName) || str_bankName == null) { ToastUtil.show(MyAddpaymentPlanActivity.this, "�Բ�����ѡ��������������"); } else if ("".equals(str_payPrice) || str_payPrice == null) { ToastUtil.show(MyAddpaymentPlanActivity.this, "�Բ�������д���Ļ�����"); } else if ("".equals(shiData) || shiData == null) { ToastUtil.show(MyAddpaymentPlanActivity.this, "�Բ�������û��ѡ��ʵ�ʻ�����"); } else if ("".equals(str_jianPayDataString) || str_jianPayDataString == null) { ToastUtil.show(MyAddpaymentPlanActivity.this, "�Բ�������д���Ľ��黹����"); } else if (!cb.isChecked()) { ToastUtil.show(MyAddpaymentPlanActivity.this, "�������Ķ������ڻ������Э�顷"); } else { AjaxParams params = new AjaxParams(); params.put("plan_name", str_planName); params.put("plan_bankcard", str_payCard); params.put("plan_bank", str_bankName); params.put("plan_amount", str_payPrice); params.put("plan_repayment_date", shiData); params.put("suggest_repayment_date", str_jianPayDataString); params.put("userid", SharedPreferencesUtils.getString( MyAddpaymentPlanActivity.this, "userid", null)); params.put("imei", AppConfig.getIMEI(MyAddpaymentPlanActivity.this)); params.put("androidid", AppConfig .getAndroidId(MyAddpaymentPlanActivity.this)); FinalHttp fh = new FinalHttp(); fh.post(InternetURL.HUAN_KUAN_ADD, params, new AjaxCallBack<Object>() { @Override public void onFailure(Throwable t, int errorNo, String strMsg) { super.onFailure(t, errorNo, strMsg); ToastUtil.show( MyAddpaymentPlanActivity.this, "�ϴ�ʧ��"); } @Override public void onSuccess(Object t) { super.onSuccess(t); ToastUtil.show( MyAddpaymentPlanActivity.this, "�ϴ��ɹ�"); Intent intent = new Intent( MyAddpaymentPlanActivity.this, MyPaymentPlanActivity.class); startActivity(intent); } }); } } else { PromptManager.showNoNetWork(MyAddpaymentPlanActivity.this); } break; case R.id.myaddpaymentplan_checkbox: View view = LayoutInflater.from(this).inflate( R.layout.xiao_xing_yong_xie_yi, null); WebView wv = (WebView) view.findViewById(R.id.webview); wv.getSettings().setJavaScriptEnabled(true); wv.loadUrl("file:///android_asset/xiaoxinyong.html"); new AlertDialog.Builder(this) .setTitle("���ø���(С����)����Э��") .setView(view) .setCancelable(false) .setPositiveButton("ȷ��", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { cb.setChecked(true); } }) .setNegativeButton("ȡ��", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { cb.setChecked(false); } }).create().show(); break; case R.id.myaddpaymentplan_outcheckbox: View vv = LayoutInflater.from(this).inflate( R.layout.xiao_xing_yong_xie_yi, null); WebView web = (WebView) vv.findViewById(R.id.webview); web.getSettings().setJavaScriptEnabled(true); web.loadUrl("file:///android_asset/xiaoxinyong.html"); new AlertDialog.Builder(this) .setTitle("���ø���(С����)����Э��") .setView(vv) .setCancelable(false) .setPositiveButton("ȷ��", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { cb.setChecked(true); } }) .setNegativeButton("ȡ��", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { cb.setChecked(false); } }).create().show(); break; } } @Override public void onItemSelected(AdapterView<?> arg0, View v, int arg2, long arg3) { String[] languages = getResources().getStringArray(R.array.mouth); String str = languages[arg2]; TextView t = (TextView) v; t.setTextColor(getResources().getColor(R.color.white)); t.setTextSize(12); // ��ȡ������ String shiData = shiPayData.getSelectedItem().toString().trim(); String jianyi = shiData.substring(2, 4); int ins = Integer.parseInt(jianyi); if (ins == 01) { jianPayData.setText("����28��"); } else if (ins == 02) { jianPayData.setText("����28��"); } else if (ins == 03) { jianPayData.setText("����28��"); } else { jianPayData.setText(ins - 3 + "��"); } hintKbTwo(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } // �˷���ֻ�ǹر������ public void hintKbTwo() { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); if (imm.isActive() && getCurrentFocus() != null) { if (getCurrentFocus().getWindowToken() != null) { imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } } } /** * ���п���λ�ӿո� * * @param mEditText */ protected void bankCardNumAddSpace(final EditText mEditText) { mEditText.addTextChangedListener(new TextWatcher() { int beforeTextLength = 0; int onTextLength = 0; boolean isChanged = false; int location = 0;// ��¼����λ�� private char[] tempChar; private StringBuffer buffer = new StringBuffer(); int konggeNumberB = 0; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { beforeTextLength = s.length(); if (buffer.length() > 0) { buffer.delete(0, buffer.length()); } konggeNumberB = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == ' ') { konggeNumberB++; } } } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { onTextLength = s.length(); buffer.append(s.toString()); if (onTextLength == beforeTextLength || onTextLength <= 3 || isChanged) { isChanged = false; return; } isChanged = true; } @Override public void afterTextChanged(Editable s) { if (isChanged) { location = mEditText.getSelectionEnd(); int index = 0; while (index < buffer.length()) { if (buffer.charAt(index) == ' ') { buffer.deleteCharAt(index); } else { index++; } } index = 0; int konggeNumberC = 0; while (index < buffer.length()) { if ((index == 4 || index == 9 || index == 14 || index == 19)) { buffer.insert(index, ' '); konggeNumberC++; } index++; } if (konggeNumberC > konggeNumberB) { location += (konggeNumberC - konggeNumberB); } tempChar = new char[buffer.length()]; buffer.getChars(0, buffer.length(), tempChar, 0); String str = buffer.toString(); if (location > str.length()) { location = str.length(); } else if (location < 0) { location = 0; } mEditText.setText(str); Editable etable = mEditText.getText(); Selection.setSelection(etable, location); isChanged = false; } } }); } }