Android 如何在代码中选择ListView项?

Android 如何在代码中选择ListView项?,android,listview,Android,Listview,我的代码中有错误。当我删除ListView中的第三项(选定项)(如果它有5项)时,下一项将成为setbackground。这怎么可能?任何帮助都将不胜感激 列表视图代码: experiment_left_lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,

我的代码中有错误。当我删除ListView中的第三项(选定项)(如果它有5项)时,下一项将成为setbackground。这怎么可能?任何帮助都将不胜感激

列表视图代码:

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个)的背景已设置。