基本上我有一个包含四个不同系列的图表,默认情况下会同时显示所有四个系列。我希望允许用户通过标记复选框来隐藏和/或再次显示它们。
我发现了一个类似的问题here,并遵循了给出的建议,但它没有奏效。以下是我现在的复选框之一:
checkBox1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(((CheckBox)v).isChecked()){
multiRenderer.addSeriesRenderer(distanceRenderer);
// distanceRenderer.setColor(Color.parseColor("#990000")); //(making transparent method)
}
else{
//distanceRenderer.setColor(Color.TRANSPARENT); //(making transparent method)
multiRenderer.removeSeriesRenderer(distanceRenderer);
}
}
});
我的想法是当我取消选中复选框时,我会隐藏一个渲染器,当我再次检查时,它会再次添加。
在我链接的主题的建议中,他们说要删除所有渲染器,然后重新输入那些不应该被隐藏的渲染器。我也试过这个,但无济于事。第三种选择只是在我希望它消失的时候将颜色改为透明,这也没有用。
我调试了它,它正确地进入条件,但没有任何反应。有什么我需要称之为我错过了吗?
谢谢!
编辑:我不知道这是否有所帮助,但我也尝试调用XYMultipleSeriesDataset函数repaint()。这导致了IllegalStateException,soooo ....仍然没有好......
答案 0 :(得分:2)
尝试将其用于隐藏目的:
r.setColor(Color.TRANSPARENT);
mChartView.repaint();
其中r
为XYSeriesRenderer
。