2011-09-13 15 views
0

ボタンを押すと、アイテムのリストをループしてデータベースに追加し、アクティビティを閉じます。作業中にボタンを押すことを中止する

私の問題は、機能が終了する前にユーザーがボタンをもう一度押すことができる、遅い電話機や多くのリスト項目でときどき重複挿入が発生することです。

これを防止するにはどのような方法が推奨されていますか?私は印刷機のボタンを無効にしようとしましたが、画面上では更新されません。

buttonAddChecked.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 

      SparseBooleanArray CheckedItemIDs = listViewFavorites.getCheckedItemPositions(); 

      for (int i = 0; i < CheckedItemIDs.size(); i++) { 

       View element = listViewFavorites.getAdapter().getView(CheckedItemIDs.keyAt(i), 
         null, null); 

       ShoppingListItem sli; 
       sli = (ShoppingListItem) element.getTag(); 

       db.insertItem(sli.itemName, 0, sli.itemNotes, 
         sli.categoryID); 
      } // looped round all checked items 

      finish(); 
     } 
    }); 

答えて

1

それはボタンを押した後、ユーザーとの対話を停止するprogressDialog

を使用しています。

+0

ありがとう、それは仕事をしました。 – CodeChimp

関連する問題