package com.miris.ui.activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import com.miris.R; import com.miris.ui.adapter.MessageAdapter; import com.parse.GetCallback; import com.parse.Parse; import com.parse.ParseObject; import com.parse.ParseQuery; import com.parse.ParseException; import butterknife.InjectView; /** * Created by miris on 2016-07-22. */ public class MessageDetail extends BaseActivity{ @InjectView(R.id.sendId) TextView sendIdView; // 보낸 아이디 뷰 @InjectView(R.id.sendName) TextView sendNameView; // 보낸 이름 뷰 @InjectView(R.id.sendTime) TextView sendTimeView; // 보낸 시간 뷰 @InjectView(R.id.msg_content) TextView contentView; // 내용 뷰 @InjectView(R.id.idTitile) TextView idTitile; String objectId = null; String flag = null; String msgContent = null; String msgSendId = null; String msgSendName = null; String msgSendTime = null; String userName = null; @Override protected void onCreate(Bundle savedInstanceState) { Intent intent = this.getIntent(); objectId = intent.getStringExtra("objectid"); flag = intent.getStringExtra("flag"); new messageTask().execute(); super.onCreate(savedInstanceState); setContentView(R.layout.activity_message_detail); if(flag != null) { idTitile.setText("받는 사람"); } else { idTitile.setText("보낸 사람"); } Button button = (Button)findViewById(R.id.deleteButton); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showDialog(1); } }); /* 답장 화면으로 이동 */ Button rButton = (Button)findViewById(R.id.returnButton); rButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //Toast.makeText(getApplicationContext(), "준비중입니다.", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplication(), MessageReplyActivity.class); intent.putExtra("msgSendId",msgSendId); startActivity(intent); }; }); } @Override protected Dialog onCreateDialog(int id) { AlertDialog.Builder builer = new AlertDialog.Builder(this); builer.setTitle("삭제"); builer.setMessage("쪽지를 삭제하시겠습니까?"); builer.setPositiveButton("확인", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { ParseQuery<ParseObject> query = ParseQuery.getQuery("miris_message"); query.getInBackground(objectId, new GetCallback<ParseObject>() { @Override public void done(ParseObject parseObject, com.parse.ParseException e) { if(e == null){ parseObject.put("to_delete_yn","Y"); parseObject.saveInBackground(); } } }); Intent intent = new Intent(getApplication(), MessageActivity.class); startActivity(intent); //new deleteTask().execute(); } }); builer.setNegativeButton("취소", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); return builer.create(); } class messageTask extends AsyncTask<Void, Void, Void> { @Override protected Void doInBackground(Void... arg0) { /* MIRIS_MESSAGE 테이블 SELECT */ ParseQuery<ParseObject> query = ParseQuery.getQuery("miris_message"); query.getInBackground(objectId, new GetCallback<ParseObject>() { @Override public void done(ParseObject parseObject, ParseException e) { msgContent = parseObject.getString("content"); msgSendId = parseObject.getString("from_id"); msgSendName = "("+parseObject.getString("from_name")+")"; msgSendTime = parseObject.getString("sendtime"); Log.i("msgContent", msgContent); Log.i("msgSendId", msgSendId); Log.i("msgSendId", msgSendTime); sendIdView.setText(msgSendId); sendNameView.setText(msgSendName); sendTimeView.setText(msgSendTime); contentView.setText(msgContent); } }); return null; } } class deleteTask extends AsyncTask<Void, Void, Void> { @Override protected Void doInBackground(Void... arg0) { /* MIRIS_MESSAGE to_delete_yn를 Y로 업데이트 */ ParseQuery<ParseObject> query = ParseQuery.getQuery("miris_message"); query.getInBackground(objectId, new GetCallback<ParseObject>() { @Override public void done(ParseObject parseObject, com.parse.ParseException e) { if(e == null){ parseObject.put("to_delete_yn","Y"); parseObject.saveInBackground(); } } }); return null; } /* onPostExecute() : 백그라운드 실행 완료 즉 스레드 작업이 끝났을때의 동작 구현(doInBackground의 결과값 사용) */ @Override protected void onPostExecute(Void result) { Log.i("delete_onPostExecute","start"); Intent intent = new Intent(getApplication(), MessageActivity.class); startActivity(intent); } } }