如何解决Android SQLite 在选定的微调器上显示特定行
我从 3 个难度中获得了创纪录的高分:简单、中等、困难。所有数据进入 1 个表。我有 1 个活动来显示所有的高分。
在那个活动中,我创建了一个微调器,让用户选择他们想要显示的难度数据。所有数据都将显示在列表视图(ScoreView)中。
这里我想做的是在微调器上选择用户时显示的具体数据。
有什么办法吗?
这是我的数据库:
public Data_Collect[] getScore() {
Data_Collect[] data = null;
String[] colums = {"Difficult","BRedo","BCorrect"};
String orderBy = "Difficult ASC";
Cursor cursor = getReadableDatabase().query(
"score",colums,null,orderBy);
if (cursor.getCount()>0 && cursor.moveToNext()) {
data = new Data_Collect[cursor.getCount()];
int counter = 0;
do {
data[counter] = new Data_Collect(
cursor.getString(0),cursor.getInt(1),cursor.getInt(2));
counter++;
}
while (cursor.moveToNext());
}
cursor.close();
return data;
}
这是我的活动:
ArrayAdapter<String> adapterDifficult = new ArrayAdapter<>(
Score.this,android.R.layout.simple_list_item_1,Difficulty
);
SpinnerDifficulty.setAdapter(adapterDifficult);
SpinnerDifficulty.setOnItemSelectedListener(this);
new Thread(new Runnable() {
@Override
public void run() {
RecordDB db = new RecordDB(Score.this);
Data_Collect[] data = db.getScore();
db.close();
if (data != null) {
adapter = new RecordAdapter(Score.this,R.layout.recordlist,R.id.text_Difficulty,data);
runOnUiThread(new Runnable() {
@Override
public void run() {
ScoreView.setAdapter(adapter);
}
});
}
}
}).start();
}
@Override
public void onItemSelected(AdapterView<?> parent,View view,int position,long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
解决方法
定义困难 = '简单'
Data_Collect[] data = null;
String[] colums = {"Difficult","BRedo","BCorrect"};
String orderBy = "Difficult ASC";
Cursor cursor = getReadableDatabase().query(
"score",colums,"Difficult ='Easy'",null,orderBy);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。