タイトルはそれ自体が物語っています。私はいくつかの記事、トピックを超えていますが、checkedtextviewの使用方法がまだわかりません。チェック可能なアイテムのリストビューが必要です。次のコードでは、リストビューを使用して文字列配列を設定しています。しかし、それをcheckedtextviewに変更するにはどうすればよいですか?
delete.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:paddingTop="4dip"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:orientation="horizontal"
Android:id="@+id/linlay0"
Android:background="@color/list_bg">
<TextView
Android:id="@+id/TextView00"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:background="#D8D8D8"
Android:textColor="#424242"
Android:gravity="center_horizontal|center_vertical"
Android:textSize="20px"
Android:height="40px"
Android:textStyle="bold"
/>
<ListView Android:id="@+id/ListView01"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" />
</LinearLayout>
delete_lv.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:gravity="center_vertical"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent">
<TextView
Android:id="@+id/list_content"
Android:textColor="#222222"
Android:gravity="center"
Android:text="sample"
Android:layout_margin="4dip"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
/>
</LinearLayout>
Delete.Java:
public class Delete extends Activity {
ListView lv1;
ArrayAdapter<String> adapter1;
private String lv_items[] = { "Android", "iPhone", "BlackBerry",
"AndroidPeople", "J2ME", "Listview", "ArrayAdapter", "ListItem",
"Us", "UK", "India" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.delete);
TextView tv0 = (TextView)findViewById(R.id.TextView00);
tv0.setText("Deletes");
lv1 = (ListView) findViewById(R.id.ListView01);
adapter1 = new ArrayAdapter<String>(Delete.this,R.layout.list_black_text,R.id.list_content, lv_items);
lv1.setAdapter(adapter1);
adapter1.notifyDataSetChanged();
}
}
Xmlファイルでは、リストアイテムとしてtextviewを使用しています。代わりにCheckedTextView
を使用してください。ウィジェットパレットから直接ドラッグアンドドロップできます。 CheckedTextView
は、TextView
とCheckBox
の両方として使用できます。以下はそれを使用する方法の例です
<CheckedTextView
xmlns:Android="http://schemas.Android.com/apk/res/Android"
style="@style/NormalText"
Android:id="@+id/checkList"
Android:paddingLeft="20dip"
Android:paddingRight="20dip"
Android:paddingTop="10dip"
Android:paddingBottom="10dip"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="?android:attr/listPreferredItemHeight"
Android:gravity="center_vertical"
Android:checkMark="@drawable/our_checkbox"></CheckedTextView>
これは、AndroidでデフォルトのCheckdTextViewを使用するためのコードです
<CheckedTextView
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:checkMark="?android:attr/textCheckMark"
Android:paddingLeft="6dip"
Android:paddingRight="6dip"
Android:checked="true"
Android:gravity="center_vertical"
Android:text="- Action finished"/>
Android:drawableLeft
を使用して、左側のチェックボックスを設定できます。それを達成するには、以下のコードスニペットを使用できます。
<CheckedTextView
Android:id="@+id/checkedTextView1"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:drawableLeft="@drawable/custom_radio_check"
Android:gravity="center_vertical"
Android:textSize="12sp"
Android:textColor="#3d484d"
Android:paddingLeft="14dp"
Android:paddingTop="12dp"
Android:paddingBottom="12dp"
/>
これにより、セレクタがテキストの左側に移動します。パディング、重力などの残りのパラメータを調整できます。
これがSingleChoiceDialogでの私の使用です
1.select_dialog_singlechoice.xml
<?xml version="1.0" encoding="UTF-8"?>
<CheckedTextView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@Android:id/text1"
style="@style/PopupSelectList"
Android:checkMark="@drawable/radio"
Android:ellipsize="Marquee"
Android:gravity="center_vertical"
Android:paddingLeft="12.0dip"
Android:paddingRight="10.0dip" />
2.style.xml
<style name="PopupSelectList">
<item name="Android:textSize">16.0sp</item>
<item name="Android:textColor">@color/white</item>
<item name="Android:background">@drawable/list_item_selector</item>
<item name="Android:layout_width">fill_parent</item>
<item name="Android:layout_height">wrap_content</item>
<item name="Android:minHeight">@dimen/dialog_select_height</item>
</style>
3.ratio.xml
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:drawable="@drawable/dot_selected" Android:state_checked="true" Android:state_window_focused="false"/>
<item Android:drawable="@drawable/dot_normal" Android:state_checked="false" Android:state_window_focused="false"/>
<item Android:drawable="@drawable/dot_normal" Android:state_checked="false"/>
<item Android:drawable="@drawable/dot_selected" Android:state_checked="true"/>
</selector>
4.InアダプターのgetView
CheckedTextView title = (CheckedTextView) convertView
.findViewById(Android.R.id.text1);
title.setText(mItems[position]);
title.setSelected(mCheckedItem == position ? true : false);
title.setCheckMarkDrawable(position == mCheckedItem ? R.drawable.dot_selected
: R.drawable.dot_normal);