Android:单击后禁用ListView?

时间:2011-11-17 04:41:11

标签: android sqlite listview

我有一个列表视图,当列表视图中的项目被点击时,我使用AyscTask将详细信息保存到sqlite db,这是从listview的onitemclicklistener调用的。当用户随机点击许多项目应用程序崩溃时,app尝试以极其方式访问数据库。当用户足够快以在加载警报出现之前单击列表视图中的多个项目时,就会发生这种情况。

我该如何防止这种情况?我试图在listview的onitemclick方法中禁用listview,但它也没有用。

我的代码

//setting up the listview
        ListView lv = (ListView) findViewById(android.R.id.list);
        setListAdapter(new TypeArrayAdapter(TypeSelectActivity.this, R.layout.row_type, typeList));

        lv.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {

                sectionid = Integer.parseInt(LocationWebService.incidentTypeSectionId
                        .get(arg2));
                incidentid1 = Integer
                .parseInt(LocationWebService.incidentTypeId
                        .get(arg2));

                LocationWebService.IncidentTypeID = incidentid1;
                LocationWebService.sectionID = sectionid;
                new DBTasks().execute(arg2);
                TextView tv=(TextView)arg1.findViewById(R.id.label_type);
                TypeString=tv.getText().toString();
                Log.v("TypeSelect", TypeString);

            }
        });

感谢您的提前时间。

1 个答案:

答案 0 :(得分:0)

尝试使用禁用AsnykTask中的列表 - &gt; PreExecute并在PostExecute ..

中启用列表