我使用了这个库:https : //github.com/kristiyanP/colorpicker以便在我的应用程序上有一个颜色选择器。我的问题是当我点击取消并再次点击颜色选择器在对话框中显示额外的 2 行这是我的 onOptionItemSelected 代码@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.color: openColorPicker(); break; } return true;}打开颜色选择器public void openColorPicker(){ final ColorPicker colorPicker = new ColorPicker(this); color.add("#EF9A9A"); color.add("#F48FB1"); color.add("#CE93D8"); color.add("#B39DDB"); color.add("#9FA8DA"); color.add("#90CAF9"); color.add("#E6EE9C"); color.add("#FFAB91"); color.add("#E0E0E0"); color.add("#ba2d65"); colorPicker.setColors(color).setColumns(5) .setRoundColorButton(true).setOnFastChooseColorListener(new ColorPicker.OnFastChooseColorListener() { @Override public void setOnFastChooseColorListener(int position, int Color) { Colors = color.get(position).toString(); layout.setBackgroundColor(Color); editText1.setBackgroundColor(Color); editText2.setBackgroundColor(Color); } @Override public void onCancel() { } }).show(); }
1 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
我相信您是color在类级别定义变量。尝试在openColorPicker()方法内部定义它,就像这样:
public void openColorPicker(){
final ColorPicker colorPicker = new ColorPicker(this);
ArrayList<String> color = new ArrayList<>();
color.add("#EF9A9A");
color.add("#F48FB1");
color.add("#CE93D8");
color.add("#B39DDB");
color.add("#9FA8DA");
color.add("#90CAF9");
color.add("#E6EE9C");
color.add("#FFAB91");
color.add("#E0E0E0");
color.add("#ba2d65");
....
}
添加回答
举报
0/150
提交
取消