这是我的数据库类代码(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/