public class EditActivity extends BaseActivity {
private EditText et;
private Context context = this;
private Toolbar myToolbar;
private String old_content = "";
private String old_time = "";
private int old_Tag = 1;
private long id = 0;
private int openMode = 0;
private int tag = 1;
private boolean tagChange = false;
public Intent intent=new Intent();//Message to be sent
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_layout);
myToolbar=findViewById(R.id.edit_toolbar);
setSupportActionBar( myToolbar );
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
myToolbar.setNavigationOnClickListener(new View.OnClickListener() {//对状态栏返回键进行点击设置
@Override
public void onClick(View v) {
autoSetMessage();
setResult(RESULT_OK,intent);
finish();
}
});
et=findViewById(R.id.et);
Intent getIntent=getIntent();
openMode=getIntent().getIntExtra("mode",0);
Log.d("Edit","openMode(onCreate)="+openMode);
if (openMode == 3) {//打开已存在的note
id = getIntent.getLongExtra("id", 0);
old_content = getIntent.getStringExtra("content");
old_time = getIntent.getStringExtra("time");
old_Tag = getIntent.getIntExtra("tag", 1);
et.setText(old_content);
et.setSelection(old_content.length());
}
Log.d("Edit","onCreate");
}
public boolean onKeyDown(int keyCode, KeyEvent event){//设置返回键,Home键
Log.d("Edit","dateToStr");
if (keyCode==KeyEvent.KEYCODE_HOME){
return true;
}
else if (keyCode==KeyEvent.KEYCODE_BACK){
Log.d("Edit","back");
autoSetMessage();
setResult(RESULT_OK,intent);
finish();
return true;
}
return super.onKeyDown(keyCode,event);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.edit_menu,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()){
case R.id.delete:
new AlertDialog.Builder(EditActivity.this)
.setMessage("删除吗?")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (openMode==4){//new note
intent.putExtra("mode",-1);
setResult(RESULT_OK,intent);
}else{//existing note
intent.putExtra("mode",2);
intent.putExtra("id",id);
setResult(RESULT_OK,intent);
}
finish();
}
}).setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();//关闭当期对话框
}
}).create().show();
break;
}
return super.onOptionsItemSelected(item);
}
private void autoSetMessage() {//进行修改或创建新的笔记
Log.d("Edit","openMode="+openMode);
if (openMode==4){//新建的
if (et.getText().toString().length()==0){//什么也没写
intent.putExtra("mode",-1);//什么也没干
}else {
intent.putExtra("mode",0);//创建新笔记
intent.putExtra("content",et.getText().toString());
intent.putExtra("time",dateToStr());
intent.putExtra("tag",tag);
}
}else{
if(et.getText().toString().equals(old_content)&& !tagChange){//未修改
intent.putExtra("mode","-1");
}else{
intent.putExtra("mode",1);
intent.putExtra("content",et.getText().toString());
intent.putExtra("id",id);
intent.putExtra("time",dateToStr());
intent.putExtra("tag",tag);
}
}
}
public String dateToStr(){
Log.d("Edit","dateToStr");
Date date=new Date(System.currentTimeMillis());
@SuppressLint("SimpleDateFormat") SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
return simpleDateFormat.format(date);
}
@Override
public void needRefresh() {//本页面刷新
setNightMode();
Intent intent=new Intent(this,EditActivity.class);
startActivity(intent);
}
}