android程序开启时闪退,Android程序运行到某一功能就闪退_七231fsda~~的博客-程序员秘密

技术标签: 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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_28965731/article/details/117477749

智能推荐

<转>Ubuntu 10.04 安装配置手记_weixin_30840253的博客-程序员秘密

系统通用配置1. 软件源ubuntu安装好之后默认是中国的官方源,速度还是不错的。想换的可以在系统管理-软件源里面换,也可以手动修改/etc/apt /source.list文件(请做好备份)。启用"Lucid-partner"源(以后操作需要,务必启用)里 面有Adobe Reader,Flash插件等软件进入“系统-系统管理-软件源-其 他软件”,勾选"Lucid-partner"源就...

nmap扫描渗透测试_tcp同步扫描_MR.Ming_明裕学长的博客-程序员秘密

任务环境说明:服务器场景:Linux服务器场景操作系统:Linux(版本不详)渗透机环境说明BT5渗透机用户名:root密码:toorKali渗透机用户名:root密码:toorWindows7渗透机用户名:administrator密码:123456靶机19-JY-Linux--1 172.16.102.2501.通过BT5对服务器场景Linux进行TCP同步扫描 (使用工具Nmap,使用参数n,使用必须要使用的参数),并将该操作使用命令中必须要使用的参数作为Flag提交;fla

Redhat Linux 硬盘挂载方法!!!_weixin_34111790的博客-程序员秘密

Redhat Linux 硬盘挂载方法!!! 硬盘挂载操作工作步骤: 1、先查看目前机器上有几块硬盘,查看命令有两种: 命令1:# fdisk –l 命令2:# dmesg | grep sd 其中:fdisk命令说明如下: fdisk命令用途:观察硬盘的实体使用情形与分割硬盘用。 fdisk命令使用方法: 一、在 console 上输入 fdisk -...

数据库加密_asymmetric_keys_zhuanghe_xing的博客-程序员秘密

基本概念:第一层 服务主密钥 备份服务主密钥backup service master key to file='c:/smk.bak'encryption by password='[email protected]' restore service master key from file='c:/smk.bak'decryption by password='[email protected]'

Java学习路线!2021年京东Java岗面试必问,终于搞明白了_程序员伏地魔的博客-程序员秘密

前言提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关。而事务的ACID(即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability)可以说涵盖了事务的全部知识点,所以,我们不仅要知道ACID是什么,还要了解ACID背后的实现,只有这样,无论在日常开发还是面试求职,都能无往而不利。为了大家更好的阅读体验,对ACID的深入分析将分为上下两篇。本篇主要围绕ACID中的I,也就

随便推点

Little Boxes HDU - 6225_hdu6225_DeathYmz的博客-程序员秘密

2018TYUT暑期ACM模拟赛(4) Little Boxes HDU - 6225 题意:就是四个很大的数相加,long long 有一种会爆。图个省事。直接用来大数的模板。直接过了-_-#include&amp;lt;iostream&amp;gt;#include&amp;lt;cstring&amp;gt;using namespace std;string sum(string s1,string s2...

面向业务的立体化高可用架构设计_华仔爱技术的博客-程序员秘密

为了实现阿里九游游戏接入系统的业务高可用,技术人员跳出传统的面向系统的高可用的思路,转而从业务的角度来整体考虑高可用,最终实现了一套立体化的高可用架构,本文逐一展示这套立体化高可用架构的一些具体实践。

Ubuntu 用VSFTP搭建FTP服务器_在ubuntu上vsftp服务器_Jody1989的博客-程序员秘密

FTP服务器是平时应用最为广泛的服务之一。VSFTP是Very Secure FTP的缩写,意指非常安全的FTP服务。VSFTP功能强大,通过结合本地系统的用户认证模块及其多功能的配置项目,可以快速有效的搭建强大的多用户FTP服务。首先我们考虑搭建FTP服务需要关注的都有哪些方面?比如我们最经常关注的有: 1、如何添加FTP用户? 2、如何临时冻结某FTP用户? 3、FTP用户登入

Spring中使用事务出现java.lang.ClassCastException com.sun.proxy.$Proxy19 cannot be cast to ...错误_proxy 19_一位不透露姓名的先生的博客-程序员秘密

Spring中使用事务出现java.lang.ClassCastException: com.sun.proxy.$Proxy19 cannot be cast to …错误 &lt;!--开启事务注解驱动,并配置事务--&gt; &lt;tx:annotation-driven transaction-manager="事务管理器id" proxy-target-class="true"/&gt; proxy-target-class="true" 添加即可...

SSO -单点登录的实现原理_统一单点登陆原理_Sherlock_s的博客-程序员秘密

1.什么是单点登录?单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。2.常用的认证系统WEBS-SSO(简单编程,基于Cookie,轻量级) 百度百科: 用户在访问页面1的时候进行了登录,但是客户端的每个请求都是单独的连接,当客户再次访问页面2的时候,如

推荐文章

热门文章

相关标签