【问题标题】:CheckedTextView won't remove the checkMark icon when status false当状态为 false 时,CheckedTextView 不会删除 checkMark 图标
【发布时间】:2015-09-08 20:30:16
【问题描述】:

我有一个listviewCheckedTextViews 作为记录,当单击一个项目时,我可以看到CheckedTextView 的状态已切换,但Checkmark 从未隐藏。

这是我的列表视图的 XML

<ListView
    android:id="@+id/listFilters"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingStart="10dp"
    android:choiceMode="multipleChoice" />

这是记录的 XML:

<CheckedTextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/filter"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:minHeight="60dp"
    android:text="filter1"
    android:paddingStart="20dp"
    android:paddingEnd="20dp"
    android:gravity="center_vertical"
    android:checkMark="@drawable/icon_blue_checkmark" />

这是我的OnItemClick Listener :

@Override
public void onItemClick (AdapterView<?> parent, View view, int position, long id) {
    Filter filter = (Filter) adapter.getItem (position);
    boolean isSelected = !filter.isSelected ();
    filter.setSelected (isSelected);

    CheckedTextView ctv = (CheckedTextView)listView.getChildAt (position);
    ctv.toggle ();

    // shows that the status of the CheckedTextView has switched successfully
    Toast.makeText (
        getActivity (),
        "CheckedTextView status : " + ctv.isChecked (),
        Toast.LENGTH_SHORT
    ).show();
}

我做错了什么?谢谢。

编辑: 我刚刚注意到,当用 android:checkMark="?android:attr/listChoiceIndicatorMultiple" 替换我的自定义复选标记时,它工作正常。有什么想法吗?

【问题讨论】:

  • 你确定你的onItemClick 被调用了吗?
  • 是的,toast 显示成功,CheckedTextView 的状态正确
  • @karaokyo :忘记适配器初始化部分,我错了。但是 onClick 问题是正确的。
  • 回应您的编辑:icon_blue_checkmark 是什么?

标签: android listview checkedtextview


【解决方案1】:

试试这个

CheckedTextView ctv = (CheckedTextView) view.findViewById(R.id.filter);
ctv.toggle();

【讨论】:

    【解决方案2】:

    您可以在声明适配器时尝试使用android.R.layout.simple_list_item_multiple_choice,如here 所述

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-19
      相关资源
      最近更新 更多