Android 如何在代码中选择ListView项?
我的代码中有错误。当我删除ListView中的第三项(选定项)(如果它有5项)时,下一项将成为setbackground。这怎么可能?任何帮助都将不胜感激 列表视图代码:Android 如何在代码中选择ListView项?,android,listview,Android,Listview,我的代码中有错误。当我删除ListView中的第三项(选定项)(如果它有5项)时,下一项将成为setbackground。这怎么可能?任何帮助都将不胜感激 列表视图代码: experiment_left_lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
experiment_left_lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
listChooseId = arg2;
if(ExperimentAdapter.views.size() != 0){
for (int i = 0; i < ExperimentAdapter.views.size(); i++) {
ExperimentAdapter.views.get(i).setBackgroundResource(R.drawable.list_bg);
}
ExperimentAdapter.views.removeAll(ExperimentAdapter.views);
}
if(view != null){
experiment_right_rl.removeView(view);
}
if(views.size() != 0){
if(((Integer)views.get(0).get("id")) == arg2){
((View)views.get(0).get("view")).setBackgroundResource(R.drawable.list_bg);
chooseE_id = -1;
views.remove(0);
map.clear();
}
else{
((View)views.get(0).get("view")).setBackgroundResource(R.drawable.list_bg);
views.remove(0);
map.clear();
map.put("id", arg2);
map.put("view", arg1);
views.add(map);
arg1.setBackgroundResource(R.drawable.list_select);
chooseE_id = experiments.get(listChooseId).getE_id();
showView();
}
}
else{
map.put("id", arg2);
map.put("view", arg1);
views.add(map);
arg1.setBackgroundResource(R.drawable.list_select);
chooseE_id = experiments.get(listChooseId).getE_id();
showView();
}
}
});
experiment\u left\u lv.setOnItemClickListener(新的OnItemClickListener(){
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
listChooseId=arg2;
if(ExperimentAdapter.views.size()!=0){
对于(int i=0;i
删除BTN onClick:
if(chooseE_id != -1){
AlertDialog.Builder builder = new AlertDialog.Builder(ExperimentActivity.this);
builder.setTitle(getString(R.string.exp_sure_to_delete));
builder.setPositiveButton(getString(R.string.sure), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
List<Step> steps = stepDao.getAllStep(ExperimentActivity.this, chooseE_id);
for (int i = 0; i < steps.size(); i++) {
stepDao.deleteStep(steps.get(i), ExperimentActivity.this);
}
experimentDao.deleteExperiment(chooseE_id, ExperimentActivity.this);
experimentAdapter.getView(chooseE_id,null, null).setBackgroundResource(R.drawable.list_bg);
experiments = experimentDao.getAllExperimentsByU_id(ExperimentActivity.this, U_id);
experiment_left_lv.setAdapter(new ExperimentAdapter(ExperimentActivity.this, experiments));
if(view != null){
experiment_right_rl.removeView(view);
}
chooseE_id = -1;
}
})
if(选择see\u id!=-1){
AlertDialog.Builder=新建AlertDialog.Builder(ExperimentActivity.this);
setTitle(getString(R.string.exp\u sure\u to\u delete));
setPositiveButton(getString(R.string.sure),new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
List steps=stepDao.getAllStep(ExperimentActivity.this,选择see\u id);
对于(int i=0;i
您的错误是什么getting@Indra:例如,我的ListView中有5个项目,每个项目都有两个sated背景,当我删除第3个项目(选中)时,下一个项目(第4个)的背景已设置。