【发布时间】:2020-07-09 12:12:02
【问题描述】:
我在 SQLite 数据库中输入了一些用 html 标签包裹的文本,我想在手机中显示这些文本。例如:我在 SQLite 数据库中输入了10<sup>-7</sup>,我想在手机中渲染 10-7。
这是来自 DB Browser for SQLite 的 SQLite 图像:
这是 DBHelper 的一部分:
public List<Quizplay> getQuestionGuj(int cate_id, int sub_cate_id, int noOfQuestion, int level) {
List<Quizplay> quizplay = new ArrayList<Quizplay>();
int total = noOfQuestion;
String sql = "select * FROM " + TBL_QUESTION + " where (" + CATE_ID + "=" + cate_id + " and "
+ SUB_CATE_ID + " =" + sub_cate_id + " and "
+ LEVEL + "=" + level + ") ORDER BY RANDOM() LIMIT " + total;
SQLiteDatabase db = this.getReadableDatabase();
//SQLiteDatabase db = SQLiteDatabase.openDatabase("/data/data/" + packageName + "/databases/" + DATABASE_NAME, null, 0);
Cursor cursor = db.rawQuery(sql, null);
if (cursor.moveToFirst()) {
do {
Quizplay question = new Quizplay();
question.setId(cursor.getInt(cursor.getColumnIndex("id")));
question.setQuestion(cursor.getString(cursor.getColumnIndex("question")));
question.addOption(cursor.getString(cursor.getColumnIndex("option_a")));
question.addOption(cursor.getString(cursor.getColumnIndex("option_b")));
question.addOption(cursor.getString(cursor.getColumnIndex("option_c")));
question.addOption(cursor.getString(cursor.getColumnIndex("option_d")));
String rightAns = cursor.getString(cursor.getColumnIndex("right_answer"));
if (rightAns.equalsIgnoreCase("A")) {
question.setTrueAns(cursor.getString(cursor.getColumnIndex("option_a")));
} else if (rightAns.equalsIgnoreCase("B")) {
question.setTrueAns(cursor.getString(cursor.getColumnIndex("option_b")));
} else if (rightAns.equalsIgnoreCase("C")) {
question.setTrueAns(cursor.getString(cursor.getColumnIndex("option_c")));
} else {
question.setTrueAns(cursor.getString(cursor.getColumnIndex("option_d")));
}
if (question.getOptions().size() == 4) {
quizplay.add(question);
}
} while (cursor.moveToNext());
}
cursor.close();
db.close();
Collections.shuffle(quizplay);
quizplay = quizplay.subList(0, noOfQuestion);
return quizplay;
}
【问题讨论】: