为什么我一点击添加按钮想跳转到数据库的那个界面就闪退或者报错退出到主界面

主界面代码

package cn.itcast.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.os.Bundle;

import android.content.Intent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    private ListView mListView;
    private String[] titles = {"西瓜", "香蕉", "苹果", };
    private String[] prices = {"3元/kg", "4元/kg", "5元/kg", };
    private int[] icons = {R.drawable.p3, R.drawable.p4, R.drawable.p2, };

    private Button btnApple;
    private Button btnAdd;

    class MyBaseAdapter extends BaseAdapter {


        public int getCount() {
            return titles.length;
        }

        public Object getItem(int position) {
            return titles[position];
        }

        public long getItemId(int position) {
            return position;
        }

        public View getView(int position, View converView, ViewGroup parent) {
            View view = View.inflate(MainActivity.this, R.layout.list_item, null);
            TextView title = (TextView) view.findViewById(R.id.title);
            TextView price = (TextView) view.findViewById(R.id.price);
            ImageView iv = (ImageView) view.findViewById(R.id.iv);
            title.setText(titles[position]);
            price.setText(prices[position]);
            iv.setBackgroundResource(icons[position]);
            return view;
        }
    }

    @SuppressLint("MissingInflatedId")
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mListView = (ListView) findViewById(R.id.lv);
        MyBaseAdapter mAdapter = new MyBaseAdapter();
        mListView.setAdapter(mAdapter);

        btnApple = findViewById(R.id.btn_apple);
        btnAdd = findViewById(R.id.btn_add);

        btnApple.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, apple.class);
                startActivity(intent);
            }
        });

        btnAdd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, add.class);
                startActivity(intent);
            }
        });
    }
}


    /* protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);//调用xml中activity_main。
        mListView = (ListView) findViewById(R.id.lv);
        MyBaseAdapter mAdapter = new MyBaseAdapter();
        mListView.setAdapter(mAdapter);
        Button ok = (Button) this.findViewById(R.id.btn_apple);
        Button ok1 = (Button) this.findViewById(R.id.btn_waterlemon);
        ok.setOnClickListener(new ButtonListener());
        ok1.setOnClickListener(new ButtonListener());
    }

    private class ButtonListener implements View.OnClickListener{
        @Override
        public void onClick(View v){
            Intent intent=new Intent(MainActivity.this, apple.class);//设置切换对应activity
            Intent intent1=new Intent(MainActivity.this, add.class);
            startActivity(intent);
            startActivity(intent1);//开始切换
        }
    }*/


add代码
package cn.itcast.myapplication;

import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;
import static cn.itcast.myapplication.R.id.btn_add;
import static cn.itcast.myapplication.R.id.btn_delete;
import static cn.itcast.myapplication.R.id.btn_query;
import static cn.itcast.myapplication.R.id.btn_update;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;


public class add extends AppCompatActivity {
    private View prebutton;
    MyHelper myHelper;
    private EditText mEtName;
    private EditText mEtPhone;
    private Button mBtnAdd;
    private Button mBtnQuery;
    private Button mBtnUpdate;
    private Button mBtnDelete;

    private ListView mList;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_layout);//调用twolayout
        prebutton = findViewById(R.id.previous);
        prebutton.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v){
                finish();
            }
        });
        MyHelper myHelper = new MyHelper(this);
        init();//初始化控件
    }
    private void init() {
        mEtName = (EditText) findViewById(R.id.et_name);
        mEtPhone = (EditText) findViewById(R.id.et_phone);
        mBtnAdd = (Button) findViewById(btn_add);
        mBtnQuery = (Button) findViewById(R.id.btn_query);
        mBtnUpdate = (Button) findViewById(R.id.btn_update);
        mBtnDelete = (Button) findViewById(R.id.btn_delete);
        mBtnAdd.setOnClickListener((View.OnClickListener) this);
        mBtnQuery.setOnClickListener((View.OnClickListener) this);
        mBtnUpdate.setOnClickListener((View.OnClickListener) this);
        mBtnDelete.setOnClickListener((View.OnClickListener) this);
        mList = (ListView) findViewById(R.id.lv);
    }
    @SuppressLint("NonConstantResourceId")
    public void onClick(View v) {
        String name;
        String phone;
        SQLiteDatabase db;
        ContentValues values;
        if(v.getId() == btn_add) {
            name = mEtName.getText().toString();
            phone = mEtPhone.getText().toString();
            db = myHelper.getWritableDatabase();//获取可读写SQLiteDatabse对象
            values = new ContentValues();       // 创建ContentValues对象
            values.put("name", name);           // 将数据添加到ContentValues对象
            values.put("phone", phone);
            db.insert("information", null, values);
            Toast.makeText(this, "信息已添加", Toast.LENGTH_SHORT).show();
            db.close();}
        else if (v.getId() == btn_query) {
            Toast.makeText(this, "query", Toast.LENGTH_SHORT).show();
            db = myHelper.getReadableDatabase();
            if (mEtName.getText().toString().isEmpty()) {
                Cursor cursor = db.query("information", null, null, null, null, null, null);
                SimpleCursorAdapter spcAdapter = new SimpleCursorAdapter(this, R.layout.list_item, cursor,
                        new String[]{"name", "phone"}, new int[]{R.id.item_name, R.id.item_phone});
                mList.setAdapter(spcAdapter);
            } else {
                Cursor cursor = db.rawQuery("select * from information where name=?", new String[]{mEtName.getText().toString()});
                SimpleCursorAdapter spcAdapter = new SimpleCursorAdapter(this, R.layout.list_item, cursor,
                        new String[]{"name", "phone"}, new int[]{R.id.item_name, R.id.item_phone});
                mList.setAdapter(spcAdapter);
            }
            //cursor.close();
            //db.close();
        }
        else if (v.getId() == btn_update) {
            db = myHelper.getWritableDatabase();
            values = new ContentValues();       // 要修改的数据
            values.put("phone", phone = mEtPhone.getText().toString());
            db.update("information", values, "name=?",
                    new String[]{mEtName.getText().toString()}); // 更新并得到行数
            Toast.makeText(this, "信息已修改", Toast.LENGTH_SHORT).show();
            db.close();
        }
        else if (v.getId() == btn_delete) {
            db = myHelper.getWritableDatabase();
            db.delete("information", "name=?",new String[]{mEtName.getText().toString()});
            Toast.makeText(this, mEtName.getText().toString()+"信息已删除", Toast.LENGTH_SHORT).show();
            db.close();
        }
    }
}
aapple 代码
package cn.itcast.myapplication;

import static cn.itcast.myapplication.R.*;

import android.os.Bundle;
import android.view.View;

import androidx.appcompat.app.AppCompatActivity;

public class apple extends AppCompatActivity {
    private View prebutton;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(layout.applelayout);//调用twolayout
        prebutton = findViewById(R.id.previous);
        prebutton.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v){
                finish();
            }
        });


    }


}

没有任何报错 但是一点击添加按钮就闪退 这是为什么

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值