ListView with multiple choice

Thảo luận trong 'Điện thoại, viễn thông' bắt đầu bởi bka15, 30/9/12.

  1. bka15 New Member

    bka15

    Tham gia ngày:
    18/7/12
    Bài viết:
    128
    Đã được thích:
    105
    Điểm thành tích:
    0
    ListView with multiple choice
    [​IMG]
    PHP:
    package com.AndroidListView;
     
     
     
    import android.app.Activity;
     
    import android.os.Bundle;
     
    import android.util.SparseBooleanArray;
     
    import android.view.View;
     
    import android.widget.ArrayAdapter;
     
    import android.widget.Button;
     
    import android.widget.ListView;
     
    import android.widget.Toast;
     
     
     
    public class 
    AndroidListViewActivity extends Activity {
     
         
     
        
    ListView myList;
     
        
    Button getChoice;
     
         
     
        
    String[] listContent = {
     
                
    "January",
     
                
    "February",
     
                
    "March",
     
                
    "April",
     
                
    "May",
     
                
    "June",
     
                
    "July",
     
                
    "August",
     
                
    "September",
     
                
    "October",
     
                
    "November",
     
                
    "December"
     
        
    };
     
         
     
        
    /** Called when the activity is first created. */
     
        
    @Override
     
        
    public void onCreate(Bundle savedInstanceState) {
     
            
    super.onCreate(savedInstanceState);
     
            
    setContentView(R.layout.main);
     
            
    myList = (ListView)findViewById(R.id.list);
     
            
    getChoice = (Button)findViewById(R.id.getchoice);
     
             
     
            
    ArrayAdapter<Stringadapter
     
            
    = new ArrayAdapter<String>(this,
     
                    
    android.R.layout.simple_list_item_multiple_choice,
     
                 
    listContent);
     
             
     
            
    myList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
     
            
    myList.setAdapter(adapter);
     
             
     
            
    getChoice.setOnClickListener(new Button.OnClickListener(){
     
     
     
                @
    Override
     
                
    public void onClick(View v) {
     
                    
    // TODO Auto-generated method stub
     
                     
     
                    
    String selected "";
     
                     
     
                    
    int cntChoice myList.getCount();
     
                    
    SparseBooleanArray sparseBooleanArray myList.getCheckedItemPositions();
     
                    for(
    int i 0cntChoicei++){
     
                        if(
    sparseBooleanArray.get(i)) {
     
                            
    selected += myList.getItemAtPosition(i).toString() + "\n";
     
                             
     
                        }
     
                    }
     
                     
     
                    
    Toast.makeText(AndroidListViewActivity.this,
     
                            
    selected,
     
                            
    Toast.LENGTH_LONG).show();
     
                }});
     
             
     
        }
     
    }
    PHP:
    <?xml version="1.0" encoding="utf-8"?>
     
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     
        android:orientation="vertical"
     
        android:layout_width="fill_parent"
     
        android:layout_height="fill_parent"
     
        >
     
    <TextView 
     
        android:layout_width="fill_parent"
     
        android:layout_height="wrap_content"
     
        android:text="@string/hello"
     
        />
     
    <Button
     
        android:id="@+id/getchoice"
     
        android:layout_width="fill_parent"
     
        android:layout_height="wrap_content"
     
        android:text="Get Choice"
     
        />
     
    <ListView 
     
        android:id="@+id/list"
     
        android:layout_width="fill_parent"
     
        android:layout_height="wrap_content"
     
        />
     
    </LinearLayout>
     
    Đang tải...
  2. Vũ Duy Hoàng New Member

    Vũ Duy Hoàng

    Tham gia ngày:
    5/4/13
    Bài viết:
    9
    Đã được thích:
    0
    Điểm thành tích:
    0
    Giới tính:
    Nam
    anh có thể hướng dẫn chi tiết được k ạ?em đưa một checkbox vào list_item thì nó không nhận sự kiện click,còn khi click một lần và click lần thứ 2 lên item đó thì phải xử lý như thế nào ạ?
     
  3. VinhLX New Member

    VinhLX

    Tham gia ngày:
    6/5/13
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    0
    Giới tính:
    Nam
    1, muốn đưa 1 checkbox vào list_item thì set sự kiện setOnCheckedChangeListener trong cái CustomAdapter của bạn ý.
    2, click 1 lần và 2 lần hay n lần thì đơn giản chỉ cần Checked = !Checked là ok.
     

Chia sẻ trang này