我真的很想知道这一点,并没有找到答案或方法。
我要做的是将一个保存在SQLite列中的问题一个接一个地显示在TextView中,直到完成。
到目前为止我在主要活动
上所做的工作 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDatabaseHelper = new DatabaseHelper(this);
btn1star = (Button) findViewById(R.id.btn1star);
btn2star = (Button) findViewById(R.id.btn2star);
btn3star = (Button) findViewById(R.id.btn3star);
mListview = (ListView) findViewById(R.id.qlistview);
qTextView = (TextView) findViewById(R.id.qTextView);
questionsListView();
}
private void questionsListView() {
Cursor data = mDatabaseHelper.getData();
data.moveToFirst();
qTextView.setText(data.getString(1));
}
public void VoteClick(View view){
mDatabaseHelper.getReadableDatabase();
Cursor data = mDatabaseHelper.getData();
if (data.getCount() >=1){
for (int i = 0; i< data.getCount(); i++) {
data.moveToNext();
Log.i("Counted Questions are: ", String.valueOf(data.getCount()));
qTextView.setText(data.getString(1));
}
}
}
private void toastmessage (String message){
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
}
我能够显示第一个,当我点击按钮时最后一个问题
我无法在两者之间显示问题。
任何提示或建议?
答案 0 :(得分:0)
在你的VoteClick
方法中执行getReadableDatabase
,这已经太晚了,请将此行移至onCreate
方法。您必须先打开数据库才能从中读取数据库(questionsListView
)。
mDatabaseHelper.getReadableDatabase();//move to onCreate
添加:
startManagingCursor(data);
data.moveToFirst();
在线之前:
if (data.getCount() >=1){
答案 1 :(得分:0)
您好找到了我的问题的解决方案
事实证明我必须创建一个新的int变量 从第一个id获取其值 并在每个按钮结束时按一下,直到我到达最后一个光标位置,我将光标移动到第一个位置
public void VoteClick(查看视图){
{{1}}