package com.keju.maomao.activity.setting; import org.json.JSONException; import org.json.JSONObject; import android.os.AsyncTask; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; 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.helper.BusinessHelper; import com.keju.maomao.util.NetUtil; import com.keju.maomao.util.SharedPrefUtil; import com.keju.maomao.util.StringUtil; /** * 意见反馈 * * @author lhm * @date 创建时间:2013-10-31 */ public class SettingFeedbackActivity extends BaseActivity implements OnClickListener, TextWatcher { private ImageButton ibLeft; private TextView tvTitle; private Button btnRight; private EditText etFeedback; private TextView tvNum; TextView hasnum;// 用来显示剩余字数 int num = 140;// 限制的最大字数  private CharSequence temp; private int selectionStart; private int selectionEnd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.setting_feedback); findView(); fillData(); } private void fillData() { ibLeft.setImageResource(R.drawable.ic_btn_left); tvTitle.setText("意见反馈"); tvNum.setText(0 + ""); btnRight.setText("发送"); btnRight.setBackgroundResource(R.drawable.bg_btn_collection); } private void findView() { ibLeft = (ImageButton) this.findViewById(R.id.ibLeft); ibLeft.setOnClickListener(this); tvTitle = (TextView) this.findViewById(R.id.tvTitle); etFeedback = (EditText) findViewById(R.id.etFeedback); etFeedback.addTextChangedListener(this); tvNum = (TextView) findViewById(R.id.tvNum); btnRight = (Button) findViewById(R.id.btnRight); btnRight.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.ibLeft: finish(); break; default: case R.id.btnRight: String feedBackContent = etFeedback.getText().toString().trim(); if (StringUtil.isBlank(feedBackContent)) { showShortToast("请输入你要反馈的内容"); return; } else { if (NetUtil.checkNet(SettingFeedbackActivity.this)) { new FeedBack(feedBackContent).execute(); } else { showShortToast(R.string.NoSignalException); } } break; } } @Override public void afterTextChanged(Editable editable) { int number = editable.length(); tvNum.setText("" + number); // selectionStart = tvNum.getSelectionStart(); selectionEnd = etFeedback.getSelectionEnd(); if (temp.length() > num) { editable.delete(num, number); int tempSelection = selectionEnd; etFeedback.setText(editable); etFeedback.setSelection(tempSelection);// 设置光标在最后 showShortToast("最多可输入140个字.."); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { temp = s; } /** * * 反馈接口 * * */ private class FeedBack extends AsyncTask<Void, Void, JSONObject> { private String feedBackContent; /** * @param feedBackContent */ public FeedBack(String feedBackContent) { this.feedBackContent = feedBackContent; } @Override protected void onPreExecute() { super.onPreExecute(); showPd("正在提交..."); } @Override protected JSONObject doInBackground(Void... params) { int uid = SharedPrefUtil.getUid(SettingFeedbackActivity.this); try { return new BusinessHelper().getFeedBack(uid, feedBackContent); } catch (SystemException e) { } return null; } @Override protected void onPostExecute(JSONObject result) { super.onPostExecute(result); dismissPd(); if (result != null) { try { int status = result.getInt("status"); if (status == Constants.REQUEST_SUCCESS) { showShortToast("感谢你为我们提交了宝贵意见"); finish(); } else { showShortToast("意见反馈失败"); } } catch (JSONException e) { showShortToast(R.string.json_exception); } } else { showShortToast(R.string.connect_server_exception); } } } }