获取活动中选择的图表

Aks*_*nde 3 android mpandroidchart

我正在使用最新版本的mpandroidchart库.我在单项活动上有2个条形图.chart1和chart2是XML中的id(我不想使用条形图列表视图).chart1 cosnist计数值和图表2包含美元价值.我已经获得了价值.但我想知道这是一个美元价值还是价值.所以我可以根据选中的图表显示吐司.

这是我的示例代码.

 public void onValueSelected(Entry e, int dataSetIndex, Highlight h) {

    View view;
    TextView text;

    switch (e.getXIndex()) {
        case 0:

            if (toast != null)
                toast.cancel();

            toast = Toast.makeText(getActivity(), "All Other Year Defectors: " +e.getVal(), Toast.LENGTH_SHORT);

            view = toast.getView();
            view.setBackgroundResource(R.color.all_odr_yr);
            toast.setGravity(Gravity.TOP, 0, 950);
            toast.show();
            break;


        case 1:
            if (toast != null)
                toast.cancel();

            toast = Toast.makeText(getActivity(), "Last Year Defectors: " + e.getVal(), Toast.LENGTH_SHORT);

            view = toast.getView();
            view.setBackgroundResource(R.color.lst_yr_df);
            toast.setGravity(Gravity.TOP, 0, 950);
            toast.show();
            break;
Run Code Online (Sandbox Code Playgroud)

Phi*_*oda 7

这对于图书馆来说似乎很难并且很难实现.

但你可以做的是内联监听器并为每个图表使用单独的监听器,如下所示:

    countChart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {

        @Override
        public void onValueSelected(Entry e, int dataSetIndex, Highlight h) {
            // COUNT CHART VALUE SELECTED
        }

        @Override
        public void onNothingSelected() { }
    });

    dollarChart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {

        @Override
        public void onValueSelected(Entry e, int dataSetIndex, Highlight h) {
            // DOLLAR CHART VALUE SELECTED
        }

        @Override
        public void onNothingSelected() { }
    });
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以区分不同的图表.