(Android)无法启动活动组件信息:java.lang.NullPointerException
我遇到了一个问题,每次我尝试使用此代码启动新活动时,都会出现(Android)无法启动活动组件信息:java.lang.NullPointerException,android,android-activity,runtimeexception,Android,Android Activity,Runtimeexception,我遇到了一个问题,每次我尝试使用此代码启动新活动时,都会出现RuntimeException: public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_add: startActivity(new Intent(this, Addmark.class)); break; } return supe
RuntimeException
:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_add:
startActivity(new Intent(this, Addmark.class));
break;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long id) {
Cursor cursor = db.getSubject(id);
String subject = null;
try {
subject = cursor.getString(cursor.getColumnIndex("subject"));
} catch (Exception e) {
e.printStackTrace();
}
Intent intent = new Intent(Main.this, Marks.class);
intent.putExtra("selected", subject);
startActivity(intent);
}
我尝试在其中启动新活动的活动是使用以下代码调用的:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_add:
startActivity(new Intent(this, Addmark.class));
break;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long id) {
Cursor cursor = db.getSubject(id);
String subject = null;
try {
subject = cursor.getString(cursor.getColumnIndex("subject"));
} catch (Exception e) {
e.printStackTrace();
}
Intent intent = new Intent(Main.this, Marks.class);
intent.putExtra("selected", subject);
startActivity(intent);
}
谢谢你的帮助 错误可能由两个原因造成 1) 在Addmark活动中,检查在这种情况下id是否存在
R.id.view
,很可能是导致NUllPointerException的原因
TextView tv = findViewById(R.id.view);
tv.setText("Some text");
2) 如果使用
startActivityForResult()
则必须在调用活动中重写此方法。有关更多参考信息,请阅读DBAdapter.java
中的第150行是什么?空指针异常很好,因为它们告诉您它在上发生的确切行,原因是:java.lang.NullPointerException。。。在maturarbeit.nicola_pfister.marks.database.DBAdapter.getAllSubjects(DBAdapter.getAllSubjects(DBAdapter.java:150)上
问题出在DBAdapter.java
中的第150行,从这里开始。这很奇怪,因为我以前从未遇到过这个类的问题……在这种情况下,第150行是类中返回主题以供微调器使用的第一行。在以前使用主题时会有一些冲突。我可能会删除微调器因为它已经用“Marks”类的调用定义了应该修改的主题。公共游标getAllSubjects(){return db.query(DATABASE_TABLE_SUBJECTS,new String[]{KEY_ROWID,KEY_subject},null,null,null,null);}}调试后,您需要缩小问题的范围:)