2017-11-07 9 views
0

アクティビティ内のすべてのチェックボックスをワンクリックでチェックしたりオフにしたりしようとしています。カスタムリストビューのすべてのチェックボックスをアクティビティからチェックする方法とチェックを外す方法は?

private ListView mListView; 
private Contacts_ListViewAdapter ContactViewAdapter; 
private ArrayList<Contacts_ListView> ContactView; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    intent = getIntent(); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    mListView = (ListView) findViewById(R.id.Contacts_list); 
    Selected_check_box = (CheckBox) findViewById(R.id.Selected_check_box) ; 
    View parentLayout = findViewById(android.R.id.content); 
    Select_All.setOnClickListener(new View.OnClickListener() { 
     private int ContactViewSize; 

     @Override 
     public void onClick(View view) { 
      ListView lv = mListView ; 
      int size = ContactViewAdapter.getCount(); 
      boolean check = lv.isItemChecked(0); 
      for(int i = 0; i <= size; i++) 
       lv.setItemChecked(i, !check); 
    } 
    }); 

動作していないよう: 私はこのコードを試してみました。

答えて

0

を設定してみてください。

カスタムアダプターでは、グローバル分散を追加して更新します。

boolean allcheck = false; //Default unchecked 

更新bindView

public void bindView(View view, Context context, Cursor cursor) { 
CheckBox box = (CheckBox) view.findViewById(R.id.checkBox); 

     box.setChecked(allcheck); 

    } 
ですべてのチェックボックス
0

setItemChecked(position、value) - これは、選択モードがCHOICE_MODE_SINGLEまたはCHOICE_MODE_MULTIPLEに設定されている場合にのみ有効です。それをリストビューのみを表示し、リサイクル、再利用およびダイナミックな変化のための効率のために、それらの意見を十分に「リストビュー」を構築するために、カスタムCursorAdapterに情報を更新する必要が

listView.setChoiceMode(int mode) 
関連する問題