【发布时间】:2017-01-09 07:19:34
【问题描述】:
我正在使用 SQLiteDatabase 在单个表下记录 2 种类型的数据(COL_TASK_TITLE 和 COL_TASK_WEIGHT)。然后,我使用 ArrayAdapter 将 2 个 TaskEntry 的字符串设置为它们的 2 个相关 TextView(characterNameDisplay 和 characterWeightDisplay)。这些 TextView 都是同一个 ListView 元素 (item_todo) 的一部分。
这是我调用来更新 ListView 的方法:
public void updateUI() {
ArrayList<String> taskList = new ArrayList<>();
SQLiteDatabase db = mHelper.getReadableDatabase();
Cursor cursor = db.query(TaskContract.TaskEntry.TABLE,
new String[]{TaskContract.TaskEntry._ID, TaskContract.TaskEntry.COL_TASK_TITLE, TaskContract.TaskEntry.COL_TASK_WEIGHT},
null, null, null, null, null);
while (cursor.moveToNext()) {
int idx = cursor.getColumnIndex(TaskContract.TaskEntry.COL_TASK_TITLE);
taskList.add(cursor.getString(idx));
int idx1 = cursor.getColumnIndex(TaskContract.TaskEntry.COL_TASK_WEIGHT);
taskList.add(cursor.getString(idx1));
}
if (mAdapter == null) {
mAdapter = new ArrayAdapter<>(this,
R.layout.item_todo,
R.id.characterNameDisplay,
taskList);
mTaskListView.setAdapter(mAdapter);
} else {
mAdapter.clear();
mAdapter.addAll(taskList);
mAdapter.notifyDataSetChanged();
}
cursor.close();
db.close();
}
目前,它正在将两个 TaskEntry 设置为单独的 ListView 段中的 characterNameDisplay TextView。
我的问题是;如何正确地将每个 TextView 设置为其相关的 TaskEntry?
例如characterWeightDisplay 到 COL_TASK_WEIGHT;和 characterNameDisplay 到 COL_TASK_TITLE
【问题讨论】: