Поместить график ap ie в виджет? - PullRequest
0 голосов
/ 07 февраля 2020

Я бы хотел, чтобы мой виджет android отображал график ap ie. Я знаю, что могу создать диаграмму ap ie, используя: PieChartView pieChartView = findViewById(R.id.pieChart);

Но Я не могу использовать findViewById() для виджетов .

Редактировать:

Ошибка говорит: «Не удается разрешить метод 'findViewById (?)'»

Это то, что я пробовал до сих пор:

static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
                                int appWidgetId) {

        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.my_widget);

        PieChartView pieChartView = findViewById(R.id.pieChart);  //error occurs here

        List<SliceValue> pieData = new ArrayList<>();

        pieData.add(new SliceValue(25, Color.GREEN).setLabel("1"));
        pieData.add(new SliceValue(25, Color.RED).setLabel("2"));
        pieData.add(new SliceValue(25, Color.BLUE).setLabel("3"));

        PieChartData pieChartData = new PieChartData(pieData);

        pieChartData.setHasLabels(true).setValueLabelTextSize(14);

        pieChartView.setPieChartData(pieChartData);  //have not been able to create a PieChartView object so can't do this line

        pieChartData.setAxisXBottom(new Axis());
        // Instruct the widget manager to update the widget
        appWidgetManager.updateAppWidget(appWidgetId, views);
    }

Но я не могу использовать findByView (), поэтому я не смог создать объект PieChartView и, следовательно, не смог установить данные диаграммы p ie с помощью setPieChartData ().

1 Ответ

0 голосов
/ 07 февраля 2020

Вы можете загрузить макет, используя RemoteViews

https://developer.android.com/reference/android/widget/RemoteViews

Можно сделать что-то вроде этого:

val view = RemoteViews(context.packageName, R.layout.my_widget)

view.pieChart [do your magic]

...