package com.partynetwork.iparty.site; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; import com.baidu.mobstat.StatService; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import com.partynetwork.dataprovider.DataProvider.IJsonResultListener; import com.partynetwork.dataprovider.json.NetworkEntity; import com.partynetwork.dataprovider.json.struct.Public_feedbackRequest; import com.partynetwork.dataprovider.util.T; import com.partynetwork.iparty.R; import com.partynetwork.iparty.app.AppContext; import com.partynetwork.myview.mytoast.LoadingDialog; import com.partynetwork.myview.mytoast.OkPopup; public class SiteFeedbackActivity extends Activity implements IJsonResultListener { /** * 返回按钮 */ @ViewInject(R.id.menu_head_left) private LinearLayout backBtn; /** * 页面标题 */ @ViewInject(R.id.menu_head_middle_text) private TextView headTitle; /** * 举报的内容 */ @ViewInject(R.id.report_content) private EditText reportContentEt; /** * 建议 */ @ViewInject(R.id.proposal) private TextView proposal; /** * 咨询 */ @ViewInject(R.id.consulting) private TextView consulting; /** * 投诉 */ @ViewInject(R.id.complaints) private TextView complaints; /** * 发布进度提示框 */ private LoadingDialog dialog; /** 消息提示框 */ private OkPopup mOkPopup; /*** 存放TextView的链表,给之后单选效果使用 */ private List<TextView> chooseList = new ArrayList<TextView>(); private int chooseNumber = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_feedback); ViewUtils.inject(this); init(); } /** * 初始化 */ private void init() { chooseList.add(proposal); chooseList.add(consulting); chooseList.add(complaints); mOkPopup = new OkPopup(this); dialog = new LoadingDialog(this, "提交中……"); initData(); } /** * 初始化数据 */ private void initData() { } /** * 选择投诉理由操作 * * @param string */ private void choose(int position) { chooseNumber = position; for (int i = 0; i < chooseList.size(); i++) { int res = R.drawable.contacts_normal; if (chooseNumber == i) { res = R.drawable.contacts_selected; } else { res = R.drawable.contacts_normal; } Drawable left = this.getResources().getDrawable(res); left.setBounds(0, 0, left.getMinimumWidth(), left.getMinimumHeight()); chooseList.get(i).setCompoundDrawables(left, null, null, null); } } /** * 事件监听 * * @param view */ @OnClick({ R.id.menu_head_left, R.id.menu_head_right, R.id.proposal, R.id.consulting, R.id.complaints }) public void onClick(View view) { switch (view.getId()) { case R.id.menu_head_left: // 关闭 finish(); break; case R.id.menu_head_right: // 提交 sendRequest(); break; case R.id.proposal: // 建议 choose(0); break; case R.id.consulting: // 咨询 choose(1); break; case R.id.complaints: // 投诉 choose(2); break; default: break; } } /** * 发送意见反馈请求 */ private void sendRequest() { String content = reportContentEt.getText().toString(); if (!content.equals("")) { Public_feedbackRequest request = new Public_feedbackRequest(); request.setContent(content); request.setFeedbackType(chooseNumber); request.setUserId(AppContext.getInstance().getLoginUid()); AppContext.getInstance().getmDataProvider() .getJsonFromNetwork(request, this); } else { mOkPopup.setTitle("请输入内容后再反馈你的建议!"); mOkPopup.showAtLocation(headTitle); } } @Override public void onNetworkRequest() { dialog.show(); } @Override public void onResultSuccess(NetworkEntity entity) { if (entity.getRequest().getAction() .equals(new Public_feedbackRequest().getAction())) { if (dialog != null && dialog.isShowing()) { dialog.dismiss(); } T.showTips(this, R.drawable.tips_smile, "感谢您的意见反馈,我们会尽快落实。您的支持就是我们进步的最大动力"); this.finish(); } } @Override public void onResultFail(String result) { if (dialog != null && dialog.isShowing()) { dialog.dismiss(); } T.showTips(this, R.drawable.tips_error, result); } @Override protected void onResume() { StatService.onResume(this); super.onResume(); } @Override protected void onPause() { StatService.onPause(this); super.onPause(); } }