Android, прослушиватель флажков в XML?

It ' Возможно, сделать что-то вроде этого

XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
    <Button android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:id="@+id/addContactButton"
              android:text="@string/addContactButtonLabel"  
              android:onClick="launchContactAdder"/><!-- here --> 

</LinearLayout>

Java:

public void launchContactAdder(View v)
{
    Intent i = new Intent(this, ContactAdder.class);
    startActivity(i);
}

, но есть требование, чтобы метод был общедоступным, недействительным и, что наиболее важно, принимал View в качестве аргумента.

Теперь я Я бы хотел сделать то же самое, но с кнопкой Checkbox. У флажка есть атрибут android: onclick, но в руководстве по Android (http://developer.android.com/resources/samples/ContactManager/index.html) я вижу этот код

showInvisibleControl.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
    {
        Log.d(TAG, "mShowInvisibleControl changed: " + isChecked);
        showInvisible = isChecked;
        populateContactList();
    }
});

Итак, есть onCheckedChanged (CompoundButton buttonView, логическое значение isChecked) метод. Есть ли способ сделать это с помощью XML? Атрибут android: onCheckedChange отсутствует, только атрибут android: onClick, но, как я писал выше, имя этого атрибута должно иметь соответствующее имя метода, которое принимает View в качестве аргумента, но из приведенного выше кода я понимаю, что у меня должен быть метод с CompoundButton и логические аргументы.

Любой способ сделать это «XML-способом»?

11
задан derekerdmann 10 May 2012 в 12:06
поделиться