当前位置: 首页 > 知识库问答 >
问题:

android-尝试调用虚拟方法的空对象引用android.widget.TextView.setText(java.lang.CharSequence)

窦弘义
2023-03-14

我试图从我的数据库中获取的数据设置抽屉菜单活动的文本,但当我尝试这样做时,它会抛出以下错误

尝试调用虚拟方法“void android”。小装置。文本视图。空对象引用上的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个答案

汪臻
2023-03-14

这实际上解决了我的问题:
如何更改导航抽屉标题中文本视图的文本我正试图设置主类中的导航标题文本。

计胤
2023-03-14

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

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

郎志
2023-03-14

空指针尝试说textview为空。这可能是因为findviewbyid与xml上的正确ID不匹配。确保您的id与xml和java文件匹配

 类似资料: