首页 > 解决方案 > 如何在 onValueSelected 方法中创建新活动

问题描述

我试图在 pieChart 对象内的 OnValueSelected 内创建新的 Intent 并得到以下编译时错误:

“无法解析构造函数'Intent(匿名com.github.mikephil.charting.listener.OnChartValueSelectedListener,java.lang.Class)'”

mPieChart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
            @Override
            public void onValueSelected(Entry e, Highlight h) {

                int pos = e.toString().indexOf("y: ");
                String totalPrice = e.toString().substring(pos +3);
                for (int i =0; i<yData.length;++i){
                    if(yData[i] == Float.parseFloat(totalPrice)){
                        pos = i;
                        break;
                    }
                }

                String company = xData[pos];
                Intent intent = new Intent(this,ViewStatisticsActivity.class);
            }

            @Override
            public void onNothingSelected() {

            }
        });
    }

我希望该库允许我像 Android 中的每个活动一样创建新的 Intent

标签: androidmpandroidchart

解决方案


以下代码行中的表示...this的上下文OnChartValueSelectedListener

Intent intent = new Intent(this, ViewStatisticsActivity.class);

...它不存在,但应该由活动上下文或片段活动上下文替换。例如

Intent intent = new Intent(activity, ViewStatisticsActivity.class);

推荐阅读