Có thể, để làm những việc như thế nàyAndroid, Trình nghe hộp kiểm trong XML?
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);
}
nhưng có một yêu cầu, rằng phương pháp này phải được công khai, khoảng trống và quan trọng nhất lấy View làm đối số.
Bây giờ tôi muốn thực hiện chính xác điều tương tự nhưng với nút Hộp kiểm. Checkbox có android: onclick thuộc tính, nhưng trong Android hướng dẫn (http://developer.android.com/resources/samples/ContactManager/index.html) Tôi có thể nhìn thấy đoạn mã này
showInvisibleControl.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
Log.d(TAG, "mShowInvisibleControl changed: " + isChecked);
showInvisible = isChecked;
populateContactList();
}
});
Vì vậy, có một onCheckedChanged (Nút CompoundButton buttonView, boolean isChecked). Có cách nào để làm điều này bằng XML? Không có thuộc tính android: onCheckedChange, chỉ thuộc tính android: onClick, nhưng như tôi đã viết ở trên, tên của thuộc tính đó phải có tên phương thức tương ứng, có dạng Xem làm đối số, nhưng từ mã ở trên tôi hiểu rằng tôi phải có phương thức CompoundButton và đối số boolean.
Bất kỳ cách nào để thực hiện điều đó theo "cách XML"?