Android anychart doen';不能随数据而改变

Android anychart doen';不能随数据而改变,android,firebase,spinner,anychart,Android,Firebase,Spinner,Anychart,我试图使用firebase中存储的数据的anychart,我添加了一个微调器来过滤我使用的数据log.e,以了解我的数据是否发生了变化,我得出结论,数据变化很好,但问题是我的饼图没有用新数据更新这是我的代码 protected void onStart() { super.onStart(); spinner = (Spinner) findViewById(R.id.spinner2);`` anyChartView= (AnyChartVie

我试图使用firebase中存储的数据的anychart,我添加了一个微调器来过滤我使用的数据
log.e
,以了解我的数据是否发生了变化,我得出结论,数据变化很好,但问题是我的饼图没有用新数据更新这是我的代码

protected void onStart() {
        super.onStart();
        spinner = (Spinner) findViewById(R.id.spinner2);``

        anyChartView= (AnyChartView)findViewById(R.id.chart11);

        pie= AnyChart.pie();
        dataEntries=new ArrayList<>();
        dataEntries.clear();

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, final int position, long id) {
                ref3.addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        String s2;
                        dataEntries.clear();

                        for (int i=0;i<list2.size();i++){
                            s2=dataSnapshot.child(list2.get(i)).child("category").getValue(String.class);
                            s=spinner.getItemAtPosition(position).toString();
                            Log.e(TAG, "onDataChange: s &&& s2"+s+"    "+s2 );

                            if (s.equals(s2)){

                                dataEntries.add(new ValueDataEntry(list2.get(i),Integer.parseInt(dataSnapshot.child(list2.get(i)).child("count").getValue(String.class))));
                                Log.e(TAG, "onDataChange: data"+list2.get(i)+"  "+ dataSnapshot.child(list2.get(i)).child("count").getValue(String.class));
                            }else continue;}

                        Log.e(TAG, "onDataChange: size"+dataEntries.size() );

                        anyChartView= (AnyChartView)findViewById(R.id.chart11);

                        pie= AnyChart.pie();
                        pie.data(dataEntries);
                        anyChartView.setChart(pie);
                    }

                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {

                    }
                });


受保护的void onStart(){
super.onStart();
微调器=(微调器)findViewById(R.id.spinner2)``
anyChartView=(anyChartView)findViewById(R.id.chart11);
pie=AnyChart.pie();
dataEntries=newarraylist();
dataEntries.clear();
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共id(AdapterView父对象、视图、最终整型位置、长id){
参考3.addValueEventListener(新的ValueEventListener(){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
字符串s2;
dataEntries.clear();

对于(int i=0;i要更新饼图,只需将新数据应用于现有饼图并使其处于活动状态。无需重新创建图表或其他内容。有关详细信息,请检查