更改 ListView 中 TextView 的填充
Changing Padding of TextView in a ListView
我有一个列表视图和一个包含这些视图的数组适配器
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<CheckedTextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/list_item"
android:gravity="center_vertical"
android:minHeight="?android:attr/listPreferredItemHeightSmall"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:textAppearance="?android:attr/textAppearanceListItemSmall" >
</CheckedTextView>
</LinearLayout>
我想在激活时在文本视图的左侧添加 X 填充,并在未选中时删除该填充。填充不会更新。我该如何管理?
由于您的 CheckedTextView
位于 ListView
中,您可以使用 setOnItemSelectedListener (AdapterView.OnItemSelectedListener listener)
方法在 ListView
上设置 AdapterView.OnItemClickListener
并覆盖 onItemClick(AdapterView<?> parent, View view, int position, long id)
方法。
在那个 onItemClick()
方法中,您检查哪个是被点击的视图(通过比较显示被点击视图位置的 position
变量与您的 CheckedTextView
的实际位置以查看它们是否匹配)。然后,如果您的用户确实点击了您的 CheckedTextView
,您将检查 CheckedTextView.isChecked ()
是否为真。如果为真,则以编程方式更改填充,否则就这样吧。
我有一个列表视图和一个包含这些视图的数组适配器
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<CheckedTextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/list_item"
android:gravity="center_vertical"
android:minHeight="?android:attr/listPreferredItemHeightSmall"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:textAppearance="?android:attr/textAppearanceListItemSmall" >
</CheckedTextView>
</LinearLayout>
我想在激活时在文本视图的左侧添加 X 填充,并在未选中时删除该填充。填充不会更新。我该如何管理?
由于您的 CheckedTextView
位于 ListView
中,您可以使用 setOnItemSelectedListener (AdapterView.OnItemSelectedListener listener)
方法在 ListView
上设置 AdapterView.OnItemClickListener
并覆盖 onItemClick(AdapterView<?> parent, View view, int position, long id)
方法。
在那个 onItemClick()
方法中,您检查哪个是被点击的视图(通过比较显示被点击视图位置的 position
变量与您的 CheckedTextView
的实际位置以查看它们是否匹配)。然后,如果您的用户确实点击了您的 CheckedTextView
,您将检查 CheckedTextView.isChecked ()
是否为真。如果为真,则以编程方式更改填充,否则就这样吧。