package com.lincanbin.carbonforum; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.MenuItem; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.ImageButton; import com.lincanbin.carbonforum.service.ReplyService; import com.lincanbin.carbonforum.util.markdown.MarkdownProcessor; public class ReplyActivity extends AppCompatActivity { Toolbar mToolbar; String mTopicID; String mPostID; String mPostFloor; String mUserName; String defaultContent; String contentHTML; EditText mContent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //取得启动该Activity的Intent对象 Intent mIntent =getIntent(); //取出Intent中附加的数据 mTopicID = mIntent.getStringExtra("TopicID"); mPostID = mIntent.getStringExtra("PostID"); mPostFloor = mIntent.getStringExtra("PostFloor"); mUserName = mIntent.getStringExtra("UserName"); defaultContent = mIntent.getStringExtra("DefaultContent"); setContentView(R.layout.activity_reply); mToolbar = (Toolbar) findViewById(R.id.toolbar); mContent = (EditText) findViewById(R.id.content); mContent.setText(defaultContent); //自动弹出键盘 mContent.setFocusable(true); mContent.setFocusableInTouchMode(true); mContent.requestFocus(); InputMethodManager mInputManager = (InputMethodManager)mContent.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); mInputManager.showSoftInput(mContent, 0); if (mToolbar != null) { //mToolbar.setTitle(getString(R.string.title_activity_reply)); if(Integer.parseInt(mPostFloor) == 0){ mToolbar.setTitle(getString(R.string.title_activity_reply)); }else{ mToolbar.setTitle(getString(R.string.action_reply_to) + " @" + mUserName); } setSupportActionBar(mToolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); ImageButton imageButton = (ImageButton) mToolbar.findViewById(R.id.reply_button); imageButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(mContent.getText().toString().length() > 0) { MarkdownProcessor mMarkdownProcessor = new MarkdownProcessor(); int currentPostFloor = Integer.parseInt(mPostFloor); if (currentPostFloor == 0) { contentHTML = mMarkdownProcessor.markdown(mContent.getText().toString()); } else { contentHTML = "<p>\n" + getString(R.string.action_reply_to) + " <a href=\"/t/" + mTopicID + "#Post" + mPostID + "\">#" + (currentPostFloor == -1 ? "0" : mPostFloor) + "</a> @" + mUserName + " :<br/>\n" + "</p><p>" + mMarkdownProcessor.markdown(mContent.getText().toString()) + "</p>"; } Intent intent = new Intent(ReplyActivity.this, ReplyService.class); intent.putExtra("TopicID", mTopicID); intent.putExtra("Content", contentHTML); startService(intent); onBackPressed(); }else{ Snackbar.make(view, getString(R.string.content_empty), Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } } }); } //TODO: 根据草稿恢复现场 } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed(); return true; default: return super.onOptionsItemSelected(item); } } }