package com.cmeiyuan.hello123.activity; import android.content.Intent; import android.os.Bundle; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.cmeiyuan.hello123.R; import com.cmeiyuan.hello123.bean.FundHold; import com.cmeiyuan.hello123.bean.v2.Fund; import com.cmeiyuan.hello123.util.FundUtil; public class AddActivity extends AnalysisActivity { public static final String MODE_ADD = "add"; public static final String MODE_EDIT = "edit"; public static final String MODE = "mode"; public static final String FUND = "fund"; private EditText et_fund_code; private EditText et_fund_name; private EditText et_fund_share; private Button btn_add_fund; private FundHold fund; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_add); et_fund_code = (EditText) findViewById(R.id.et_fund_code); et_fund_name = (EditText) findViewById(R.id.et_fund_name); et_fund_share = (EditText) findViewById(R.id.et_fund_share); btn_add_fund = (Button) findViewById(R.id.btn_add_fund); try { fund = (FundHold) getIntent().getSerializableExtra(FUND); updateContentView(fund); } catch (Exception e) { } String mode = getIntent().getStringExtra(MODE); if (mode != null && mode.equalsIgnoreCase(MODE_EDIT)) { setTitle("修改基金"); btn_add_fund.setText("保存修改"); } else { setTitle("添加基金"); btn_add_fund.setText("立即添加"); gotoSearchActivity1(); } btn_add_fund.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (fund == null) { fund = new FundHold(); } else { FundUtil.deleteFund(AddActivity.this, fund); } fund.fundCode = et_fund_code.getText().toString().trim(); fund.fundName = et_fund_name.getText().toString().trim(); fund.fundShare = et_fund_share.getText().toString().trim(); if (addFund(fund)) { setResult(RESULT_OK); finish(); } } }); TextWatcher watcher = new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { updateSubmitButton(); } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }; et_fund_name.addTextChangedListener(watcher); et_fund_code.addTextChangedListener(watcher); updateSubmitButton(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { try { Fund fund = (Fund) data.getSerializableExtra(FUND); FundHold hold = new FundHold(); hold.fundCode = fund.getFundCode(); hold.fundName = fund.getFundName(); hold.fundType = fund.getFundType(); updateContentView(hold); } catch (Exception e) { } } else { if (requestCode == 1) { finish(); } } } private void updateSubmitButton() { if (btn_add_fund != null) { String fundName = et_fund_name.getText().toString().trim(); String fundCode = et_fund_code.getText().toString().trim(); if (TextUtils.isEmpty(fundName) || TextUtils.isEmpty(fundCode)) { btn_add_fund.setEnabled(false); } else { btn_add_fund.setEnabled(true); } } } private void updateContentView(FundHold fund) { if (fund != null) { if (fund.fundCode != null) { et_fund_code.setText(fund.fundCode); } if (fund.fundName != null) { et_fund_name.setText(fund.fundName); et_fund_name.setSelection(fund.fundName.length()); } if (fund.fundShare != null) { et_fund_share.setText(String.valueOf(fund.fundShare)); } et_fund_share.requestFocus(); } } private boolean addFund(FundHold fund) { if (TextUtils.isEmpty(fund.fundCode)) { showToast("基金代码不能为空"); return false; } if (TextUtils.isEmpty(fund.fundName)) { showToast("基金名称不能为空"); return false; } FundUtil.saveFund(this, fund); return true; } @Override protected void onInitTopBar(TextView left, TextView right, TextView center) { left.setText("返回"); right.setText("搜索"); } @Override protected void onTopBarSelected(View v) { if (v == getLeftTextView()) { finish(); } else if (v == getRightTextView()) { gotoSearchActivity2(); } } private void gotoSearchActivity1() { startActivityForResult(new Intent(this, SearchActivity.class), 1); } private void gotoSearchActivity2() { startActivityForResult(new Intent(this, SearchActivity.class), 2); } }