フラグメント レイアウト デモから
:simple_list_item_checkable_1.xml
<com.example.android.supportv4.view.CheckableFrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
/>
</com.example.android.supportv4.view.CheckableFrameLayout>
そしてクラスがありますCheckableFrameLayout.java
public class CheckableFrameLayout extends FrameLayout implements Checkable {
private boolean mChecked;
public CheckableFrameLayout(Context context) {
super(context);
}
public CheckableFrameLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void setChecked(boolean checked) {
mChecked = checked;
setBackgroundDrawable(checked ? new ColorDrawable(0xff0000a0) : null);
}
public boolean isChecked() {
return mChecked;
}
public void toggle() {
setChecked(!mChecked);
}
}
デモがなぜそのような方法で記述されているのか本当にわかりません。XML コードに切り替えることはできますか?
Google を試してみましたが、まだ答えが見つかりません。