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

Android 使用复选框隐藏/显示AChartEngine系列,android,checkbox,achartengine,android-checkbox,Android,Checkbox,Achartengine,Android Checkbox,基本上,我有一个包含四个不同系列的图表,默认情况下会同时显示所有四个系列。我想允许用户通过标记复选框来隐藏和/或再次显示它们 我发现了一个类似的问题,并遵循了给出的两个建议,但都不起作用。下面是我的一个复选框现在的样子: checkBox1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(((CheckBox

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

我发现了一个类似的问题,并遵循了给出的两个建议,但都不起作用。下面是我的一个复选框现在的样子:

    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);

            }
        }
    });
其想法是,当我取消选中复选框时,我将隐藏该渲染器,当我再次选中它时,它将再次添加

在我链接到的线程的建议中,他们说删除所有渲染器,然后重新输入不应该隐藏的渲染器。我也试过了,但是没有用。第三种选择是,只要我想让它消失,就把颜色改成透明,这也行不通

我对它进行了调试,它正处于正确的状态,但什么也没发生。有什么我需要称之为我错过的吗

谢谢


编辑:我不知道这是否有帮助,但我还尝试调用xymultiplesseriesdataset的函数repaint()。这导致了一个非法的州例外,soooo。。。。还是不行…

为了隐藏起见,试试这个:

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

其中
r
XYSeriesRenderer

工作得很好!非常感谢你!我猜它以前不起作用,因为每当我试图添加或删除序列时,我都调用了repaint()函数。。。我不够聪明,每次我要改变XYSERIESRENDER的颜色时都会尝试