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