每次按保存按钮更新数据或删除电影详细信息时,我的应用程序都会崩溃,我不知道为什么。这是一些信息:我向我的数据库添加了一些数据(那部分工作正常),并且我设法在自定义列表视图中从数据库中显示。现在,在列表视图上的单击事件中,我想从数据库中提取数据,获取数据和在字段中设置的部分工作正常,但是当我想更新或删除时,应用程序崩溃。请帮忙。这是我的代码:主活动.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");
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
您正在尝试将String值解析为Integer。您需要在详细活动屏幕中获取 ID 的值,例如:
id = intent.getStringExtra("ID");
这就是整个修复。
拉丁的传说
TA贡献1789条经验 获得超8个赞
您永远不会为您的 id 变量设置值,这会导致 NumberFormatException:
db.delete(Integer.parseInt(id));
添加回答
举报
0/150
提交
取消