2016-08-03 7 views
0

Ich verwende MPAndroidChart, um einige Diagramme auf meiner Android Anwendung zu zeichnen, und ich möchte die Standardmeldung ändern, die angezeigt wird, wenn die Daten nicht verfügbar sind.Wie kann man Text ändern, wenn Daten in der MPAndroidChart-Bibliothek nicht verfügbar sind?

Ich verwende eine CombinedChart und eine BarChart und in keiner von ihnen kann ich den Text ändern, wenn Daten nicht verfügbar sind.

Ich weiß, dass es einige Fragen zu Stackoverflow in Bezug auf dieses Thema gibt. Zum Beispiel:

aber von allen Bezugnahme auf eine oder mehrere dieser Methoden machen:

.setDescription(""); 
.setNoDataTextDescription("Custom message."); 
.setNoDataTextDescription("Custom message"); 
.setNoDataText("Custom message"); 

Jeder von ihnen für mich gearbeitet.

Mein Code-Snippet in dem ich versuche, den Text zu ändern, ist die folgende:

combinedChart.setDescription(null); 
combinedChart.setNoDataText("No data"); 

combinedChart.setData(data); 
combinedChart.animateXY(2500,2500); 

Wie kann ich eine andere Textnachricht an den Benutzer bereitstellen, wenn Daten nicht verfügbar ist?

EDIT: Ich habe hinzugefügt .invalidate Methode wie @SudhakarRaju vorgeschlagen, aber es funktioniert auch nicht. Mein tatsächlicher Code ist:

combinedChart.setDescription(null); 
combinedChart.setNoDataText("No data"); 
combinedChart.setNoDataTextDescription("No data"); 
combinedChart.setNoDataTextDescription("No data"); 

combinedChart.invalidate(); 
combinedChart.setData(data); 
combinedChart.animateXY(2500,2500); 
//I also tried to put combinedChart.invalidate(); here but it also does not work. 

Vielen Dank im Voraus!

Antwort

0

Der gleiche Weg wie oben erwähnt, aber Sie müssen eine zusätzliche Zeile hinzufügen. combinedChart.invalidate(); Das wird funktionieren.

+0

Es tut mir leid, aber es funktioniert nicht. –

0

Dieser Code ermöglicht es Ihnen, das Diagramm, wenn keine Daten stylen:

  mChart.setNoDataText(getResources().getString(R.string.no_data_available)); 
      mChart.setNoDataTextColor(BaseActivity.getAppColor(R.color.black)); 

      // from: https://github.com/PhilJay/MPAndroidChart/issues/89 
      Paint p = mChart.getPaint(Chart.PAINT_INFO); 
      if (p != null) { 
       p.setTextSize(getResources().getInteger(R.integer.no_data_text_size)); 
      }