android程序开启时闪退,Android程序运行到某一功能就闪退

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

完成作业记事本中,代码无报错,其他功能都无问题,但是点击保存后就会闪退,然后只能卸载重装程序才能再次运行

package cn.itcast.notepad;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.EditText;

import android.widget.ImageView;

import android.widget.TextView;

import android.widget.Toast;

import cn.itcast.notepad.database.SQLiteHelper;

import cn.itcast.notepad.utils.DBUtils;

public class RecordActivity extends AppCompatActivity implements View.OnClickListener {

ImageView note_back;

TextView note_time;

EditText content;

ImageView delete;

ImageView note_save;

TextView noteName;

private SQLiteHelper mSQLiteHelper;

private String id;

@Override

protected void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_record);

note_back = (ImageView)findViewById(R.id.note_back); //后退键

note_time = (TextView)findViewById(R.id.tv_time); //保存记录的时间

content = (EditText)findViewById(R.id.note_content); //记录的内容

delete = (ImageView)findViewById(R.id.delete); //清空的按钮

note_save = (ImageView)findViewById(R.id.note_save); //保存的按钮

noteName = (TextView)findViewById(R.id.note_name); //标题的名称

note_back.setOnClickListener(this);

delete.setOnClickListener(this);

note_save.setOnClickListener(this);

initData();

}

public void initData(){

mSQLiteHelper = new SQLiteHelper(this);

noteName.setText("添加记录");

Intent intent = getIntent();

if (intent!= null){

id = intent.getStringExtra("id");

if (id !=null){

noteName.setText("修改记录");

content.setText(intent.getStringExtra("content"));

note_time.setText(intent.getStringExtra("time"));

note_time.setVisibility(View.VISIBLE);

}

}

}

@Override

public void onClick(View v) {

switch (v.getId()){

case R.id.note_back:

finish();

break;

case R.id.delete:

content.setText("");

break;

case R.id.note_save:

String noteContent = content.getText().toString().trim();

if(id!=null){

//修改记录功能

if (noteContent.length()>0){

if (mSQLiteHelper.updateData(id,noteContent, DBUtils.geTIME())) {

showToast("修改成功");

setResult(2);

finish();

}else {

showToast("修改失败");

}

}else {

showToast("修改记录不能为空");

}

}else {

//添加记录功能

if (noteContent.length()>0){

if (mSQLiteHelper.insertData(noteContent, DBUtils.geTIME())) {

showToast("保存成功");

setResult(2);

finish();

}else {

showToast("保存失败");

}

}else {

showToast("保存记录不能为空");

}

}

break;

}

}

public void showToast(String message){

Toast.makeText(RecordActivity.this,message,Toast.LENGTH_LONG).show();

}

}

--------------------------------------------------------------------------------------------

package cn.itcast.notepad;

import androidx.annotation.Nullable;

import androidx.appcompat.app.AppCompatActivity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Adapter;

import android.widget.AdapterView;

import android.widget.ImageView;

import android.widget.ListView;

import android.widget.Toast;

import java.util.List;

import cn.itcast.notepad.adapter.NotepadAdapter;

import cn.itcast.notepad.bean.NotepadBean;

import cn.itcast.notepad.database.SQLiteHelper;

public class NotepadActivity extends AppCompatActivity {

private ListView listView;

private SQLiteHelper mSQLiteHelper;

private List list;

NotepadAdapter adapter;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_notepad);

listView = findViewById(R.id.listview);

ImageView imageView = findViewById(R.id.add);

initData();

imageView.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = new Intent(NotepadActivity.this,RecordActivity.class);

startActivityForResult(intent,1);

}

});

}

public void initData(){

mSQLiteHelper = new SQLiteHelper(this);

showQueryData();

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView> parent, View view, int position, long id) {

NotepadBean notepadBean = list.get(position);

Intent intent = new Intent(NotepadActivity.this,RecordActivity.class);

intent.putExtra("id",notepadBean.getId());

intent.putExtra("content",notepadBean.getNotepadContent());

intent.putExtra("time",notepadBean.getNotepadTime());

NotepadActivity.this.startActivityForResult(intent,1);

}

});

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {

@Override

public boolean onItemLongClick(AdapterView> parent, View view, final int position, long id) {

AlertDialog dialog;

AlertDialog.Builder builder = new AlertDialog.Builder(NotepadActivity.this)

.setMessage("是否删除此记录")

.setPositiveButton("确认", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

NotepadBean notepadBean = list.get(position);

if(mSQLiteHelper.deleteData(notepadBean.getId())){

list.remove(position);

adapter.notifyDataSetChanged();

Toast.makeText(NotepadActivity.this,"删除成功",Toast.LENGTH_LONG).show();

}

}

})

.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();

}

});

dialog = builder.create();

dialog.show();

return true;

}

});

}

private void showQueryData(){

if (list!=null){

list.clear();

}

list = mSQLiteHelper.query();

adapter = new NotepadAdapter(this,list);

listView.setAdapter(adapter);

}

@Override

protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (requestCode == 1 && resultCode == 2){

showQueryData();

}

}

}

------------------------------------------------------------------------------

6aa6f4a14c05ab616cc9fc38d9552f87.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值