【问题标题】:Hide/show AChartEngine series using checkboxes使用复选框隐藏/显示 AChartEngine 系列
【发布时间】:2014-05-27 16:59:59
【问题描述】:

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

我发现了一个类似的问题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.... 还是不行...

【问题讨论】:

    标签: android checkbox achartengine android-checkbox


    【解决方案1】:

    试试这个隐藏的目的:

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

    其中 rXYSeriesRenderer

    【讨论】:

    • 完美运行!太感谢了!我想它以前没有用,因为每当我尝试添加或删除系列时,我都会调用 repaint() 函数......我不够聪明,只要我改变我的 XYSeriesRenderer 的颜色就尝试它
    猜你喜欢
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    相关资源
    最近更新 更多