【发布时间】:2014-04-13 14:00:48
【问题描述】:
我已经做了一个列表视图。计划是当您选择一个项目时,它应该显示为选中(背景颜色更改),当您选择另一个项目时,之前选择的项目再次正常。有没有办法做到这一点?我一直在尝试一堆东西,但没有任何效果......
这是我目前的代码...
/*Listview testing*/
final ListView listview = (ListView) findViewById(R.id.listView1);
String[] values = new String[] {
"Case White",
"Operation Weser-Exercise",
"Case Yellow",
"April War",
"Operation Barbarossa",
"D-day" };
final ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < values.length; ++i) {
list.add(values[i]);
}
final StableArrayAdapter adapter = new StableArrayAdapter(this,
android.R.layout.simple_list_item_1, list);
listview.setAdapter(adapter);
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, final View view,
int position, long id) {
//This doesn't work:
//listview.findViewById((int) selid).setBackgroundColor(Color.TRANSPARENT);
view.setSelected(true);
view.setBackgroundColor(Color.LTGRAY);
Context context = getApplicationContext();
CharSequence text = "id: " + id;
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
selid = id;
}
});
标记其中一个是可行的,但是删除选择是我卡住的地方。有什么建议吗?
编辑:我正在寻找的是让它保持选中状态,直到我选择另一个项目
【问题讨论】:
-
为此使用了
ListView selector -
转到这个 SO POST
-
我试过了。它不起作用...
-
stackoverflow.com/questions/19395782/… 如果
minSdk是11
标签: android listview selecteditem