Android实现风蓝记事本(5):修改记事功能

Android实现风蓝记事本(5):修改记事功能

package com.example.notes;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.logging.SimpleFormatter;



import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.os.Environment;
import android.text.Selection;
import android.text.Spannable;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class Update extends Activity {
    private LinearLayout layout;      //布局
    private TextView update_title;    //标题栏
    private EditText update_content;      //输入框

    private ImageButton backBtn;   //返回
    private ImageButton deleteBtn; //删除
    private ImageButton confirmBtn;    //确认

    private Dialog delDialog;     //删除对话框
    private Integer s_id;        //记事ID
    private String title;        //标题
    private String content;          //内容
    private DatabaseManage dm = null;// 数据库管理对象
    private Cursor cursor = null;
    private int background;//背景
    private  SharedPreferences sp;//存储数据
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.update);


        layout=(LinearLayout)findViewById(R.id.update);
        dm = new DatabaseManage(this);// 数据库操作对象
        update_title=(TextView)findViewById(R.id.update_title);
        update_content=(EditText)findViewById(R.id.update_content);
        backBtn=(ImageButton)findViewById(R.id.back_btn);
        deleteBtn=(ImageButton)findViewById(R.id.delete_btn);
        confirmBtn=(ImageButton)findViewById(R.id.confirm_btn);
        background = R.drawable.skin_first;
        getBackground();
        Intent intent=getIntent();    //恢复未保存数据
        HashMap<String, Object> map=(HashMap<String, Object>) intent.getSerializableExtra("data");
        title=(String) map.get("title");
        content=(String) map.get("content");
        s_id=(Integer)map.get("id");
        update_title.setText(title);
        update_content.setText(content);

        ImageButton[] btns={backBtn,deleteBtn,confirmBtn};
        for(ImageButton btn:btns)
            btn.setOnClickListener(click);

    }
    //设置背景
    private void getBackground(){
        sp=getSharedPreferences("backgrounds", 0);
        background=sp.getInt("background",background);
        layout.setBackgroundResource(background);
    }

    private OnClickListener click=new OnClickListener(){
        @Override
        public void onClick(View v) {
            switch(v.getId()){
                case R.id.back_btn:
                    back();
                    break;
                case R.id.delete_btn:
                    delete();
                    break;
                case R.id.confirm_btn:
                    save();
                    break;
            }
        }

    };

    private void save(){
        String n_content=update_content.getText().toString().trim();
        SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time=df.format(new Date());
        if(n_content!=null){
            dm.open();
            int flag=dm.update(s_id, title, n_content, time);
            if(flag>0){
                Toast.makeText(Update.this, R.string.note_saved, Toast.LENGTH_SHORT).show();
                Intent intent=new Intent(Update.this,MainActivity.class);
                startActivity(intent);
                finish();
            }else{
                Toast.makeText(Update.this, R.string.note_null, Toast.LENGTH_SHORT).show();//弹出消息
            }
        }else{
            Toast.makeText(Update.this, R.string.note_null, Toast.LENGTH_SHORT).show();
        }


    }

    private void delete(){    //删除记事
        View deleteView = View.inflate(this, R.layout.deletenote, null);
        delDialog=new Dialog(this,R.style.dialog);
        delDialog.setContentView(deleteView);
        Button yesBtn=(Button)deleteView.findViewById(R.id.delete_yes);
        Button noBtn=(Button)deleteView.findViewById(R.id.delete_no);
        yesBtn.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View view) {
                dm.open();
                dm.delete(s_id);
                Toast.makeText(Update.this, R.string.note_deleted, Toast.LENGTH_SHORT).show();
                delDialog.dismiss();
                Intent intent=new Intent(Update.this,MainActivity.class);
                startActivity(intent);
                finish();
            }
        });
        noBtn.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View view) {
                delDialog.dismiss();
            }
        });
        delDialog.show();
    }

    private void back(){
        Intent intent=new Intent(Update.this,MainActivity.class);
        startActivity(intent);
        finish();
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        return true;
    }
}

用到的布局:  setContentView(R.layout.update)-->update.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/update"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/skin_first"
        android:orientation="vertical"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >

<LinearLayout
        android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

<ImageButton
            android:id="@+id/back_btn"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:contentDescription="@string/back_btn"
                    android:background="@color/transparent"
                    android:padding="8dp"
                    android:src="@drawable/back" />

<TextView
            android:id="@+id/update_title"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:ellipsize="marquee"
                    android:gravity="center"
                    android:padding="8dp"
                    android:singleLine="true"
                    android:text="@string/update_note"
                    android:textColor="@color/white"
                    android:textSize="20sp" />


</LinearLayout>

<EditText
        android:id="@+id/update_content"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:gravity="top|left"
                android:inputType="textMultiLine"
                android:padding="8dp"
                android:textSize="18sp" />

<LinearLayout
        android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/transparent"
                android:orientation="horizontal" >

<ImageButton
            android:id="@+id/delete_btn"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@color/transparent"
                    android:contentDescription="@string/delete_btn"
                    android:padding="8dp"
                    android:src="@drawable/delete" />

<ImageButton
            android:id="@+id/confirm_btn"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@color/transparent"
                    android:contentDescription="@string/confirm_btn"
                    android:padding="8dp"
                    android:src="@drawable/ok" />
</LinearLayout>

</LinearLayout>



我的座右铭:不会,我可以学;落后,我可以追赶;跌倒,我可以站起来;我一定行。



猜你喜欢

转载自blog.csdn.net/weixin_39220472/article/details/80383713