मैं नीचे नेविगेशन व्यू के माध्यम से उपयोगकर्ता चयन के आधार पर विभिन्न चार्ट प्रदर्शित करने का प्रयास कर रहा हूं। यूके इस तरह दिखता है:

enter image description here

विचार यह है कि नीचे क्लिक किए गए प्रत्येक बटन के लिए एक अलग चार्ट दिखाया जाएगा।

मेरे पास समस्या यह है कि मुझे प्रत्येक क्लिक के लिए दिखाने के लिए एक अलग चार्ट नहीं मिल सकता है।

अब तक मैंने एक दृश्य का उपयोग करने और अमान्य करने, एक नव निर्मित चार्ट जोड़ने और दृश्य को फिर से अमान्य करने का प्रयास किया है।

  statsNavigationBar.setOnNavigationItemSelectedListener {
        when(it.itemId){
            R.id.chartView1 -> {
                chartView1.bringToFront()
                chartView1.invalidate()
                chartView1.setChart(createLineChart1())
                chartView1.invalidate()
            }
            R.id.chartView2 -> {
                chartView1.bringToFront()
                chartView1.invalidate()
                chartView1.setChart(createLineChart2())
                chartView1.invalidate()
            }
            R.id.chartView3 -> {
            }
        }
        true
    }

यह वही चार्ट दिखाता है चाहे मैं किसी भी बटन पर क्लिक करूं।

मैंने कई AnyChartView ऑब्जेक्ट आज़माए हैं:

statsNavigationBar.setOnNavigationItemSelectedListener {
        when(it.itemId){
            R.id.chartView1 -> {
                chartView1.bringToFront()
                chartView1.invalidate()
                chartView1.setChart(createLineChart1())
                chartView1.invalidate()
            }
            R.id.chartView2 -> {
                chartView2.bringToFront()
                chartView2.invalidate()
                chartView2.setChart(createLineChart2())
                chartView2.invalidate()
            }
            R.id.chartView3 -> {
            }
        }
        true
    }

यह कोई चार्ट नहीं दिखाता है।

मैंने उसी चार्ट का उपयोग करने और डेटा को रीसेट करने का भी प्रयास किया है, जो काम करता है, लेकिन मैं आखिरी बटन पर बार चार्ट रखना चाहता हूं, इसलिए डेटा रीसेट करना काम नहीं करेगा।

यदि कोई उपयोगकर्ता BottomNavigationView पर किसी आइटम पर क्लिक करने पर अलग-अलग चार्ट दिखाने का तरीका सुझा सकता है, तो मैं बहुत आभारी रहूंगा।

यहाँ मेरी लेआउट फ़ाइल है:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".StatsActivity">

<com.anychart.AnyChartView
    android:id="@+id/chartView1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    app:layout_constraintBottom_toTopOf="@+id/statsNavigationBar"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:background="@color/colorPrimaryDark"
    />

<com.anychart.AnyChartView
    android:id="@+id/chartView2"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    app:layout_constraintBottom_toTopOf="@+id/statsNavigationBar"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:background="@color/colorAccent"
    />

<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/statsNavigationBar"
    android:layout_width="0dp"
    android:layout_height="54dp"
    app:itemBackground="@color/colorAccent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:menu="@menu/stats_navigation_items"
    android:background="@color/colorAccent"/>

</androidx.constraintlayout.widget.ConstraintLayout>
0
Adam Davies 18 अप्रैल 2020, 13:46

1 उत्तर

सबसे बढ़िया उत्तर

कृपया, संबंधित चार्ट के चयनित होने पर दृश्य को सक्रिय बनाने का प्रयास करें। ऐशे ही:

APIlib.getInstance().setActiveAnyChartView(anyChartView1);

इस पद्धति का उपयोग तब किया जाता है जब एकल लेआउट.

1
AnyChart Support 20 अप्रैल 2020, 02:30