Android 以编程方式更改图层中形状的颜色选择器中的列表

Android 以编程方式更改图层中形状的颜色选择器中的列表,android,android-drawable,android-selector,Android,Android Drawable,Android Selector,如果按钮的背景设置为可绘制的形状,我们可以通过调用 (GradientDrawable)findDrawableByd(R.drawable.some_shape)。setColor(someColor) 如果将其设置为可绘制的层列表,我们可以通过调用 LayerDrawable someLayerList = (LayerDrawable) getResources().getDrawable(R.drawable.someLayerList); ((GradientDrawable) som

如果按钮的背景设置为可绘制的
形状
,我们可以通过调用
(GradientDrawable)findDrawableByd(R.drawable.some_shape)。setColor(someColor)

如果将其设置为可绘制的
层列表
,我们可以通过调用

LayerDrawable someLayerList = (LayerDrawable) getResources().getDrawable(R.drawable.someLayerList);
((GradientDrawable) someLayerList.findDrawableByLayerId(R.id.someShape)).setColor(someColor);
我想再深入一层。如何通过编程设置位于图层列表中、位于选择器中的可绘制形状的颜色

使用上面的代码片段是可行的。事实上,它看起来很像马车。我设置了多个对话框片段,可以按顺序更改按钮的颜色。虽然第一个dialogFragment始终正确着色,但其余的通常不正确。我想强调一点,当按钮的背景设置为图层列表时,一切工作都很完美,如果设置为选择器,它会有点问题

拜访