2013-07-12 4 views
0

listview가 포함 된 활동이 있습니다. 목록보기 행에는 각 행에 체크 박스가 있습니다. 체크 박스를 체크하거나 체크하지 않을 때마다 액티비티는 즉각적으로 청취해야하고 체크되거나 체크되지 않은 행이 몇 개 있는지를 안다. 어떻게 안드로이드에서 구현 하는가? 감사합니다.listview의 체크 박스를 클릭 한 활동을 알립니다.

+0

당신이 마지막에 버튼이 있습니다, 다음과 같은 코드를 작성, 활동 클래스에서 내부 코드 다음

checkBoxCleckListener.OnCheckboxClicked(); 

쓰기 토스트를 표시하는 버튼을 클릭하고 체크 표시를 선택합니다. – Raghunandan

+0

http://stackoverflow.com/questions/17554010/using-checkbox-array-in-android. 이것이 도움이 될지 확인하십시오. 몇 가지 코드를 게시하십시오. – Raghunandan

+0

아직 해결되지 않은 문제가 있습니까? –

답변

0

아래와 같이 Listener을 만들어야합니다.

interface CheckBoxCleckListener{ 
    void OnCheckboxClicked(); 
} 

어댑터 클래스 또는 기타에서 위 코드를 정의하십시오.

이제 호출 할 때마다 Adapter 클래스에 다음 코드를 작성하십시오.

//this will create object of listener 
public static CheckBoxCleckListener checkBoxCleckListener; 

귀하의 경우 호출자 클래스에 의해 초기화해야합니다. 당신의 체크 박스를 클릭 할 때마다

public static void addListener(
    CheckBoxCleckListener listener) { 
    checkBoxCleckListener= listener; 
} 

이제,

public class YourActivity extends Activity implements CheckBoxCleckListener { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
      //rest of code 
      YOUR_CLASS_WHERE_INTERFACE_IMPLEMENTED.addListener(this); 
    } 
    @Override 
    public void OnCheckboxClicked() { 
     //do your coding 
    } 
} 
+0

@Chintan, 정적 메서드 사용을 피하는 방법이 있습니까? – muyassar

+0

음 .. 네. "Adapter"클래스를 생성하고 그 객체를 생성 한 경우, 그 객체를 사용하기 전에 리스너를 등록 할 수 있습니다. :) –

관련 문제