Anychart во ViewModel странное поведение - PullRequest
0 голосов
/ 20 апреля 2020

Я использую Anychart в проекте Android в ViewModel, поэтому к нему можно получить доступ из разных фрагментов. Я нашел то, что мне кажется странным. Для начала, я хотел бы сказать, что у меня новичок ie в Android, и я надеюсь, что мой вопрос не слишком прост, поскольку я мог сделать что-то не так в своем кодировании.

I Я стремлюсь построить график, управляемый в классе ViewModel, чтобы я мог взаимодействовать с ним из разных фрагментов.

мой ViewModel отображает график, когда он выглядит так в классе, следующим образом: (Я инициализировал его с помощью функции setViewPolarPlot1 перед вызовом метода drawPolarPlot1)

...
import com.anychart.charts.Polar;
import com.anychart.AnyChartView;
import android.view.View;
import com.anychart.APIlib;
...

public class TestClass extends ViewModel {
    private Polar polarPlot1;
    private Polar polarPlot2;
    private View ViewPolarPlot1;
    private View ViewPolarPlot2;
    ...

    public void setViewPolarPlot1(View view1) {
        this.ViewPolarPlot1= view1;
    }

    public void drawPolarPlot1 () {
        AnyChartView anyChartView = (AnyChartView) this.ViewPolarPlot1;
        APIlib.getInstance().setActiveAnyChartView(anyChartView);
        Polar testPlot = AnyChart.polar();
        anyChartView.setChart(testPlot);
    }

}
...

, но не отображает график в этом случае: (я вызываю initializePolarPlot1 () и setViewPolarPlot1 () функции перед вызовом drawPolarPlot1 ())

...
import com.anychart.charts.Polar;
import com.anychart.AnyChartView;
import android.view.View;
import com.anychart.APIlib;
...

public class TestClass extends ViewModel {
    private Polar polarPlot1;
    private Polar polarPlot2;
    private View ViewPolarPlot1;
    private View ViewPolarPlot2;
    ...

    public void setViewPolarPlot1(View view1) {
        this.ViewPolarPlot1= view1;
    }

    public void drawPolarPlot1 () {
        AnyChartView anyChartView = (AnyChartView) this.ViewPolarPlot1;
        APIlib.getInstance().setActiveAnyChartView(anyChartView);
        Polar testPlot = this.polarPlot1;
        anyChartView.setChart(testPlot);
    }

    public void initializePolarPlot1 () {
        this.PolarPlot1 = AnyChart.polar();
    }

}
...

Что я делаю не так? Я хотел бы сохранить объект «Anychart.polar ()» внутри переменной, чтобы иметь доступ к нему из других фрагментов. Это нормально, что переменная, которая должна хранить объект «Anychart.polar ()», не работает, когда используется для «setChart»?

Большое спасибо!

...