java - 将数据库中的数据显示到 TextView 中 (Android)

标签 java android

这是我的数据库类代码(DatabaseHelper.java)

public Cursor getAllData(){
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor res = db.rawQuery("select * from "+TABLE_NAME,null);
        return res;
    }

这是另一个类(MainSuggestion.java)

public class MenuSuggestion extends AppCompatActivity {
    DatabaseHelper myDb;
    @Override 
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu_suggestion);
<br/>
        Cursor res = myDb.getAllData();
        if (res.moveToFirst()) {             
            TextView bmi = (TextView) findViewById(R.id.textView9);
            TextView kcal = (TextView) findViewById(R.id.textView10);
            bmi.setText(res.getString(3));
            kcal.setText(res.getString(4));
        }
    }
}

有人可以告诉我,我的代码有什么问题吗?

最佳答案

这不起作用的确切原因是因为该行上的“myDb”为空。

 Cursor res = myDb.getAllData();

不过,我推荐你Running a Query with a CursorLoader 。这可能看起来有点矫枉过正,像您这样在主线程上从数据库加载内容可能会导致 ANR 错误。

关于java - 将数据库中的数据显示到 TextView 中 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33151431/

相关文章:

java - 服务器不接收来自多个客户端的数据(java套接字)

java - Spring hibernate模板列表作为参数

java - 任务 com.google.firebase.a.v 被 java.util.concurrent.ThreadPoolExecutor 拒绝

java - 如何使用 JSch 连接在单个 session 中运行多个命令并读取它们的输出?

java - 特定数字前缀的正则表达式

java - 如何在 Java 中绘制二维图形?

android - OnItemSelectedListener 错误是否有解决方法?

android - 背景上的 FragmentStatePagerAdapter IndexOutOfBound

java - 进度对话框未出现

android - 强制操作栏显示搜索 View