为了账号安全,请及时绑定邮箱和手机立即绑定

当我按下更新或删除时应用程序崩溃

当我按下更新或删除时应用程序崩溃

慕森卡 2021-07-22 18:03:26
每次按保存按钮更新数据或删除电影详细信息时,我的应用程序都会崩溃,我不知道为什么。这是一些信息:我向我的数据库添加了一些数据(那部分工作正常),并且我设法在自定义列表视图中从数据库中显示。现在,在列表视图上的单击事件中,我想从数据库中提取数据,获取数据和在字段中设置的部分工作正常,但是当我想更新或删除时,应用程序崩溃。请帮忙。这是我的代码:主活动.javapublic class MainActivity extends AppCompatActivity {DBAdapter db;SimpleCursorAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    db = new DBAdapter(this);    db.open();    ListView lv = (ListView) findViewById(R.id.listView1);    int layoutstyle=R.layout.liststyle;    int[] xml_id = new int[] {            R.id.txtname,            R.id.txtnumber,            R.id.textView2    };    String[] column = new String[] {            "naziv",            "zanr",            "rejting"    };    Cursor row = db.fetchAllData();    adapter = new SimpleCursorAdapter(this, layoutstyle,row,column, xml_id, 0);    lv.setAdapter(adapter);    //onClick function    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {        @Override        public void onItemClick(AdapterView<?> adapterview, View view, int position, long id) {            Cursor row = (Cursor) adapterview.getItemAtPosition(position);            String _id = row.getString(row.getColumnIndexOrThrow("_id"));            String naziv = row.getString(row.getColumnIndexOrThrow("naziv"));            String zanr = row.getString(row.getColumnIndexOrThrow("zanr"));            String glumci = row.getString(row.getColumnIndexOrThrow("glumci"));            Float rejting = row.getFloat(row.getColumnIndexOrThrow("rejting"));            //go to detailsContact page            Intent todetais = new Intent(MainActivity.this, DetailsMovie.class);            todetais.putExtra("ID",_id);            todetais.putExtra("NAZIV", naziv);            todetais.putExtra("ZANR",zanr);            todetais.putExtra("GLUMCI",glumci);            todetais.putExtra("REJTING",rejting);            startActivity(todetais);        }    });
查看完整描述

3 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

您不是Id从意图设置DetailsMovie. 因此,您的 ID 是null例外

你忘了在你的 DetailsMovie onCreate()

    id = intent.getStringExtra("ID");


查看完整回答
反对 回复 2021-07-23
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

您正在尝试将String值解析为Integer。您需要在详细活动屏幕中获取 ID 的值,例如:

id = intent.getStringExtra("ID");

这就是整个修复。


查看完整回答
反对 回复 2021-07-23
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

您永远不会为您的 id 变量设置值,这会导致 NumberFormatException:

db.delete(Integer.parseInt(id));


查看完整回答
反对 回复 2021-07-23
  • 3 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信