如何使用android studio中的切换按钮隐藏和显示项目

时间:2017-01-04 22:34:21

标签: java android charts

我正在尝试在一个活动上显示4个图表。我想通过提供切换按钮让用户选择要显示的图形类型。

E.g:

以下是显示能耗的图表:

  • Elec Bar Graph
  • Elec折线图
  • 气体条形图
  • 气体线图

有两个切换按钮,一个用于电,一个用于Gas。 单击电源切换按钮时,您应该只能在条形图和折线图之间切换电力。加油按钮也适用。

问题:点击电力切换按钮查看电力线路图,然后点击气体切换按钮查看燃气消耗线图,输出为:两个电力线图和气体,而它应该只是显示点击气体切换按钮时的气体消耗线图。

这是代码的简短摘录:

switch (v.getId()) {
            case R.id.electricityButton:

boolean check = ((ToggleButton) v).isChecked();
                if (check) {

                    CreateElectricityLineGraph();
                    GasLineGraph.setVisibility(View.INVISIBLE);
                    ElecbarChart.setVisibility(View.INVISIBLE);
                    ElecLineChart.setVisibility(View.VISIBLE);
else {
                                CreateElectricityBarGraph();
                                GasbarChart.setVisibility(View.INVISIBLE);
                                     ElectricityLineChart.setVisibility(View.INVISIBLE);
                                GasLineChart.setVisibility(View.INVISIBLE);
                                ElectricitybarChart.setVisibility(View.VISIBLE);
                  System.out.println("Elec Bar Chart Now Visible");
                            }
break;
case R.id.GasButton:


                boolean c = ((ToggleButton) v).isChecked();
                if (c) {
                    ElectricityLineChart.setVisibility(View.INVISIBLE);

                    CreateGasLineGraph();
                    ElectricitybarChart.setVisibility(View.INVISIBLE);
                    GasLineChart2.setVisibility(View.VISIBLE);

                    System.out.println("Reached the end of if statement 2");

                }
                else{
                    CreateGasBarGraph();
                    ElectricitybarChart.setVisibility(View.INVISIBLE);
                    ElectricityLineChart.setVisibility(View.INVISIBLE);
                    GasLineChart2.setVisibility(View.INVISIBLE);
                    GasbarChart.setVisibility(View.VISIBLE);

                    System.out.println("The Gas Bar graph has been made visible");



                }
                break;

请帮帮我。

1 个答案:

答案 0 :(得分:0)

这是由于GasLineChartGasLineChart2在检查条件下都可见。你没有在任何条件下隐藏GasLineChart并且在第二个条件下看到GasLineChart2