0
總體思路是根據放入其中的值在ListView中更改TextView的背景。Android從ArrayList中獲取值
E.g.如果輸入的值爲真,則顏色會改變。
但是我遇到了麻煩的具體值,而不是字符串
這裏是我的控制器
public ArrayList<HashMap<String, String>> getAllSkills() {
Log.d(LOGCAT, "getAll");
ArrayList<HashMap<String, String>> wordList;
wordList = new ArrayList<HashMap<String, String>>();
String selectQuery = "SELECT * FROM " + "characterSkills";
SQLiteDatabase database = this.getWritableDatabase();
Cursor cursor = database.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
HashMap<String, String> map = new HashMap<String, String>();
map.put("skillId", cursor.getString(0));
map.put("skillName", cursor.getString(1));
map.put("ability", cursor.getString(2));
map.put("rank", cursor.getString(3));
map.put("enabled", cursor.getString(4));
wordList.add(map);
} while (cursor.moveToNext());
}
return wordList;
}
正由這家名爲:
ArrayList<HashMap<String, String>> characterSkills = controller
.getAllSkills();
ListAdapter adapter = new SimpleAdapter(CharacterSheet.this,
characterSkills, R.layout.dd_skill_entry, new String[] {
"skillId", "skillName", "ability", "rank", "enabled" },
new int[] { R.id.skillid, R.id.skillname, R.id.ability,
R.id.rank, R.id.enabled });
Toast.makeText(getApplicationContext(), "" + characterSkills.get(4), Toast.LENGTH_LONG).show();
setListAdapter(adapter);
的祝酒返回整個hashmap在那個位置,而不是我想要的「enabled」值。
所以我的問題是我如何得到這個值,如何檢查它的真實性,以及它是否改變了它輸入的特定視圖(R.id.enabled)的背景顏色。
我想改變的具體意見的背景顏色,你需要創建自定義的,而不是使用默認 –
適配器,爲什麼你有一個'ArrayList'內'HashMap'?在任何情況下,您首先需要訪問'ArrayList'中的特定'HashMap',然後從'HashMap'中獲取特定值 – Emmanuel