package com.snail.travellingTrail.trailMap.controller; import java.io.UnsupportedEncodingException; import org.apache.http.HttpEntity; import org.apache.http.entity.BasicHttpEntity; import org.apache.http.entity.StringEntity; import org.json.JSONException; import org.json.JSONObject; import net.tsz.afinal.FinalHttp; import net.tsz.afinal.http.AjaxCallBack; import net.tsz.afinal.http.AjaxParams; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.SherlockActivity; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; import com.google.gson.Gson; import com.snail.travellingTrail.R; import com.snail.travellingTrail.common.RequestAddress; import com.snail.travellingTrail.common.TravellingTrailApplication; import com.snail.travellingTrail.common.utils.DialogTool; import com.snail.travellingTrail.common.utils.ToastHelper; import com.snail.travellingTrail.trailMap.model.CommentToBeSent; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.EditText; import android.widget.Toast; public class WriteCommentActivity extends SherlockActivity { EditText editText; ActionBar actionBar; long footprintId; String replyTo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_write_comment); editText = (EditText) findViewById(R.id.act_write_comment_edt); init(); } private void init() { footprintId = getIntent().getExtras().getLong("Ftprnt_Id"); replyTo = getIntent().getExtras().getString("reply_to"); if(replyTo != null && !replyTo.equals("")) { editText.setHint("回复 @" + replyTo + " :"); } else { editText.setHint("评论"); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getSupportMenuInflater().inflate(R.menu.menu_write_comment, menu); actionBar = getSupportActionBar(); // 设置左上角返回按钮 actionBar.setHomeButtonEnabled(true); // 设置左上角的图标是否可以点击 actionBar.setDisplayHomeAsUpEnabled(true); // 给左上角图标的左边加上一个返回的图标 actionBar.setDisplayShowHomeEnabled(false); // 不显示左上角程序图标 return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // 点击了左上角Home按钮 finish(); break; case R.id.menu_submit_comment: DialogTool.showProgressDialog(WriteCommentActivity.this, "发送中.."); submitComment(); break; default: break; } return super.onOptionsItemSelected(item); } private void submitComment() { String comment = editText.getText().toString(); if (comment == null || comment.equals("")) { ToastHelper.showToast(WriteCommentActivity.this, "评论内容不能为空", Toast.LENGTH_SHORT); return; } CommentToBeSent commentToBeSent = new CommentToBeSent(comment, footprintId, TravellingTrailApplication.loginUser.getUs_Info_Us_Id()); Gson gson = new Gson(); String json = gson.toJson(commentToBeSent); try { json = new String(json.getBytes(), "8859_1"); } catch (UnsupportedEncodingException e2) { e2.printStackTrace(); } Log.v("Footprint WriteCommentActivity-->submitComment", "--->" + json); HttpEntity entity; try { entity = new StringEntity(json); FinalHttp finalHttp = new FinalHttp(); finalHttp.post(RequestAddress.SEND_FOOTPRINT_COMMENT, entity, "application/json", new AjaxCallBack<String>() { @Override public void onFailure(Throwable t, int errorNo, String strMsg) { DialogTool.cancelProgressDialog(); if (strMsg != null) { ToastHelper.showToast(WriteCommentActivity.this, "发送失败,错误代码:" + errorNo + "\n错误信息:" + strMsg, Toast.LENGTH_SHORT); } } @Override public void onSuccess(String result) { DialogTool.cancelProgressDialog(); Log.v("Footprint WriteCommentActivity-->submitComment", "onSuccess result--->" + result); if (result.equals("\"success\"")) { ToastHelper.showToast(WriteCommentActivity.this, "发送成功", Toast.LENGTH_SHORT); setResult(Activity.RESULT_OK); //返回Activity.RESULT_OK,发送成功 WriteCommentActivity.this.finish(); } else { ToastHelper.showToast(WriteCommentActivity.this, "发送失败," + "\n错误信息:" + result, Toast.LENGTH_SHORT); } } }); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } } }