使用复选框隐藏/显示AChartEngine系列

时间:2014-05-26 18:53:56

标签: android checkbox achartengine android-checkbox

基本上我有一个包含四个不同系列的图表,默认情况下会同时显示所有四个系列。我希望允许用户通过标记复选框来隐藏和/或再次显示它们。

我发现了一个类似的问题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 ....仍然没有好......

1 个答案:

答案 0 :(得分:2)

尝试将其用于隐藏目的:

r.setColor(Color.TRANSPARENT);
mChartView.repaint();

其中rXYSeriesRenderer