自定义ListView项中的视图没有主题 | 您所在的位置:网站首页 › list的定义 › 自定义ListView项中的视图没有主题 |
问题: 我有一个自定义适配器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 实验室设备网 版权所有 |