DropDownMenu icon indicating copy to clipboard operation
DropDownMenu copied to clipboard

我在SimpleTextAdapter的基础下增加了一个Imageview,然后item点击后FilterCheckedTextView无法被选中

Open fansangg opened this issue 7 years ago • 0 comments

布局如下

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
    <com.baiiu.filter.view.FilterCheckedTextView
        android:id="@+id/tv_item_filter"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#fff"
        android:enabled="true"
        android:gravity="center_vertical"
        android:paddingBottom="15dp"
        android:paddingTop="15dp"
        android:textColor="@drawable/selector_tv_filter"
        tools:text="选择"/>

    <ImageView android:id="@+id/check_view" android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_alignParentRight="true"
               android:layout_centerVertical="true"
               android:paddingRight="20dp"
               android:src="@drawable/filter_checked"
    />

</RelativeLayout>

adapter里

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        FilterItemHolder holder;

        if (convertView == null) {
            convertView = inflater.inflate(R.layout.checked_item_filter, parent, false);

            holder = new FilterItemHolder();
            holder.checkedTextView = convertView.findViewById(R.id.tv_item_filter);
            holder.mImageView = convertView.findViewById(R.id.check_view);
            holder.checkedTextView.setPadding(0, UIUtil.dp(context, 15), 0, UIUtil.dp(context, 15));
            initCheckedTextView(holder.checkedTextView);
            convertView.setTag(holder);
        } else {
            holder = (FilterItemHolder) convertView.getTag();
        }

        T t = list.get(position);
        holder.checkedTextView.setText(provideText(t));
        if (holder.checkedTextView.isChecked()){
            holder.mImageView.setVisibility(View.VISIBLE);
        }else{
            holder.mImageView.setVisibility(View.GONE);
        }

        return convertView;
    }

一直找不到原因,望赐教

fansangg avatar Dec 28 '17 04:12 fansangg