2012-02-28 1 views
0

私は選択されたチェックボックスの値をユーザーが選択し、ユーザーがチェックを外したときに同じarraylistから削除するとarraylistに格納します。しかし、私はこれに1つの問題があります。すなわち、例えば、チェックボックス0,1,4,6を選択した。それから私は0番目のチェックボックスのチェックを外した。しかし、arraylist 6からは削除されます。次回は、1位のチェックボックスをオフにしました。しかし、この時間はarraylistから何も削除されません。最後に、0と4のチェックを外しましたが、arraylistからは何も削除されません。 0,1,4の値はまだarraylistに存在します。どのようにこの問題を克服する? 選択したアイテムを保存し、選択されていないアイテムを削除します。選択したチェックボックスIDをアンドロイドのarraylistとの間で追加および削除する方法は?

マイコード....これに関して、私を助けてください:

public static ArrayList<String> selchkboxlist = new ArrayList<String>();; 
String chk; 
cbs = new CheckBox[20]; 
for(k=0; k<List.size(); k++) 
{ 
    arr = List.get(k); 
    cbs[k] = new CheckBox(getContext()); 
    Rl.addView(cbs[k]); 
    cbs[k].setText((CharSequence) arr.get(2)); 
    cbs[k].setTextColor(Color.parseColor("#000000")); 
    cbs[k].setId(k); 

    cbs[k].setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      CheckBox cbs = (CheckBox) v ; 
       if (((CheckBox) v).isChecked()) { 
      chk = Integer.toString(v.getId()); 
       selchkboxlist.add(chk); 
      Toast.makeText(Myclass.this, "Selected CheckBox ID" + v.getId(), Toast.LENGTH_SHORT).show(); 
      System.out.println("selected checkboxes"+selchkboxlist); 
      } 
      else 
      { 
       selchkboxlist.remove(chk); 
        Toast.makeText(Myclass.this, "Not selected", Toast.LENGTH_SHORT).show(); 
        System.out.println("un selected checkboxes"+selchkboxlist); 
      } 
      } 
      }); 
    } 

は感謝するでしょう....

+0

はあなたのArrayListが静的作ってみるこの

public class checkboxList { private boolean Checked; public checkboxList(boolean Checked) { super(); this.Checked = Checked; } public void setChecked(boolean state) { this.Checked = state; } public boolean getChecked() { return Checked; } } 

のようなクラスを作成します。 – Hiral

答えて

0

ライン4で...私はあなたがselchkboxlistのためリストのサイズを持っている必要がありますね。

+0

あなたの答えはもう少し説明できますか? OPが少し良くなるのを助けるかもしれない。 – KLee1

0

次にonclickの方法であなた

if (checkBox.isChecked() == true) { 
    checkboxList.get(position).setChecked(true); 
         } 
else { 
    checkboxList.get(position).setChecked(false); 
         } 
+0

私はcheckboxList.get(position).setChecked(true)を与えています。 checkboxListクラスでgetメソッドを作成するように要求しています。 – RaagaSudha

+0

クラスを追加しました。チェックボックスリストもチェックしています。 – user1203673

+0

私はpublic int getchkposition(){\t return position;}を返します。 public void setchkposition(int position){this.position = position ;}チェックボックスリストクラスで...しかし、まだそれはgetメソッドを作成するように頼んでいます – RaagaSudha