(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);}}调试后,您需要缩小问题的范围:)