android - 尝试在空对象引用

时间:2018-04-01 07:02:06

标签: android

我正在尝试从我的数据库中提取的数据设置导航抽屉活动的文本,但是当我尝试这样做时,它会抛出以下错误

  

尝试在空对象引用上调用虚方法'void android.widget.TextView.setText(java.lang.CharSequence)'

我错过了什么或者我的代码中有什么问题吗?

public void fetchDb(){
    String email = getIntent().getExtras().getString("EMAIL");

    TextView txtName = findViewById(R.id.nameText);
    TextView txtEmail = findViewById(R.id.emailText);
    String name, ema;

    DatabaseHelper dbh = new DatabaseHelper(this);

    newDb = dbh.getReadableDatabase();
    Cursor c = newDb.rawQuery("SELECT * FROM user WHERE user_email = \'" + email+"\'", null);
    if (c.moveToFirst()){
        do {
            name = c.getString(1);
            ema = c.getString(2);

            txtName.setText(name);
            txtEmail.setText(ema);

        } while(c.moveToNext());
    }
    c.close();
    newDb.close();
}

3 个答案:

答案 0 :(得分:4)

空指针试图说textview为null。这可能发生,因为findviewbyid与xml上的正确匹配。确保您的id匹配xml和java文件

答案 1 :(得分:0)

可能有两种情况.. 如果你使用的是旧版Android Studio,那么你应该使用这个TextView txtName = (TextView)findViewById(R.id.nameText);

另一种可能性是,声明textview的布局可能不同。

答案 2 :(得分:0)

这实际上解决了我的问题:
for something like this

我试图从我的主类中设置导航标题文本。