답변

3
boolean bulkflag = false; 
    ListView reportslistview = (ListView) findViewById(android.R.id.list); 
    public class MyAdapter extends SimpleAdapter { 
    //private List<Table> tables; 
    SharedPreferences prefs; 
    private Activity activity; 
    String val = ""; 

    //@SuppressWarnings("unchecked") 
    public MyAdapter(Activity context, List<? extends Map<String, String>> tables, int resource, String[] from, 
      int[] to) { 
     super(context, tables, resource, from, to); 
     //this.tables = (List<Table>) tables; 
     activity = context; 
    } 

    public View getView(final int position, final View convertView, ViewGroup parent) { 
     View row = super.getView(position, convertView, parent); 
     if (row == null) 
     { 
      LayoutInflater inflater = (LayoutInflater) activity 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      row = inflater.inflate(R.layout.reports_list, null); 
     }  

     final CheckBox cBox=(CheckBox)row.findViewById(R.id.cb1); 
     if(bulkflag) 
     { 
      cBox.setVisibility(View.VISIBLE); 
     } 
     else 
     { 
      cBox.setVisibility(View.GONE); 
     } 
     cBox.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 

       if(cBox.isChecked()) 
       { 
        selectedIds.add(recIdArr.get(reportslistview.getPositionForView(cBox))); 
        //System.out.println("position "+reportslistview.getPositionForView(cBox)); 
       } 
       else 
       { 
        selectedIds.remove(recIdArr.get(reportslistview.getPositionForView(cBox))); 
       } 
      } 
     }); 
     return row; 
    } 
} 

검사 ====>

for(int i=0;i<selectedIds.size();i++) 
{ 
    System.out.println("delete multiple"+selectedIds.size()+" "+Integer.parseInt(selectedIds.get(i))); 
} 

가로 selectedIds를 선언 목록
선택하지 않은에 추가 전역 변수

+0

어디에서이 배열 "recIdArr"을 선언해야합니까? –

+0

해당 목록 작성자 목록보기에 추가 할 항목 목록 –

+0

@Ramkiran reportslistview 및 bulkflag에 대해 설명해주십시오. – Ashwani

1

(어댑터의) 확인란에 OnClickListener를 추가해야합니다. 이 청취자는 버튼을 누를 때 삭제하려는 파일의 목록을 최신 상태로 유지해야합니다.

뭔가 같은 : 검사

=> => 목록에서 제거

1
Listview list; 

ArrayAdapter<String> aa=new ArrayAdapter<String>this,android.R.layout.simple_list_item_multiple_choice,"Arraylist name"); 

list.setAdapter(aa); 
list.setOnItemClickListener(new OnItemClickListener() { 

     public void onItemClick(AdapterView<?> arg0, View arg1, 
       int arg2, long arg3) { 
    //code 
    } 
+1

질문하기 –

2

나에게 맞는 아주 간단한 솔루션 :

이와 같이 ArrayAdapter에 대해 이미 존재하는 ArrayList를 사용하여 ListView를 반복 할 수 있습니다.

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

if((CheckBox)listView.getChildAt(i).findViewById(R.id.checkBox) != null){ 

    CheckBox cBox=(CheckBox)listView.getChildAt(i).findViewById(R.id.checkBox); 

    if(cBox.isChecked()){ 
     Log.e("CB", ""+i); 
    } 
} 
} 
관련 문제