自定义ListView项中的视图没有主题 您所在的位置:网站首页 list的定义 自定义ListView项中的视图没有主题

自定义ListView项中的视图没有主题

2023-03-12 21:00| 来源: 网络整理| 查看: 265

问题:

我有一个自定义适配器listview,目前包含checkbox和edittext。我没有更改res/values/styles文件夹中的任何主题。由于某种原因,checkbox和edittext具有与正常样式/主题(“ AppTheme”)不同的样式/主题。

自动生成的主题:

但是该复选框是白色的,只有选中该复选框才能看到。(颜色不是上面设置的colorAccent),并且edittext具有与选中该复选框时相同的颜色(绿色/蓝色)。

颜色:

#3F51B5 #303F9F #FF4081

我尝试了什么?

我尝试使用xml属性android:theme和设置项目容器的主题/样式以及项目本身style。每个都无济于事。

这正常吗?如果是这样,如何更改列表项的样式/主题?如果没有,那可能是错的?

我的listitem.xml:

自定义适配器中的getView:

@Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (cOnvertView== null){ LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); cOnvertView= inflater.inflate(R.layout.listitem_note_checkbox, null); holder = new ViewHolder(); holder.checkBox = (CheckBox)convertView.findViewById(R.id.cb_listitem); holder.editText = (EditText)convertView.findViewById(R.id.editText_listitem); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.editText.setText(items.get(position).note); return convertView; }

屏幕截图:

如我们所见,单选按钮具有默认布局accentcolor“粉红色”,并且具有灰色轮廓。但复选框轮廓为白色,而强调色为蓝色/绿色。

1> Mike M...:

您需要使用Activity的Context任何东西,需要从它的主题风格和属性值。由于您Adapter的context字段在其构造函数初始化,您需要实例你Adapter用Activity的Context,不是Application的,所以LayoutInflater结束了正确的一个。例如:

MyAdapter adapter = new MyAdapter(MainActivity.this, list);


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有