2017-10-31 1 views
0

여기 파이 차트에서 데이터를 표시하기위한 lable 텍스트를 표시하는 코드입니다. 데이터가 텍스트 텍스트 값에 우선하지 않으면 lable 값을 숨기려고합니다. 어떻게 할 수 있습니까? 아래 코드가 내 코드입니다.숨기기 방법 데이터가 0이면 MPAndroidChart 원형 차트 텍스트 레이블

final ArrayList<PieEntry> yEntrys = new ArrayList<>(); 
          //List<String> entries = new ArrayList<>(); 
          Toast.makeText(getContext(), "Toase"+response.toString(), Toast.LENGTH_SHORT).show(); 
          Log.d("pieData",response.toString()); 
          try { 

           JSONArray jsonarray = (JSONArray) response.get("piechartlist"); 




            for (int i = 0; i < jsonarray.length(); i++) { 
             JSONObject jsonobject = jsonarray.getJSONObject(i); 



              String messageSent = jsonobject.getString("messageSent").trim(); 
              String failed = jsonobject.getString("failed").trim(); 
              String rejected = jsonobject.getString("rejected").trim(); 
              String expired = jsonobject.getString("expired").trim(); 
              String unDelivered = jsonobject.getString("unDelivered"); 
              String delivered = jsonobject.getString("delivered"); 
              String ndnc = jsonobject.getString("ndnc"); 
              yEntrys.add(new PieEntry(Integer.valueOf(messageSent), "messageSent")); 
              yEntrys.add(new PieEntry(Integer.valueOf(failed), "failed")); 
              yEntrys.add(new PieEntry(Integer.valueOf(rejected), "rejected")); 
              yEntrys.add(new PieEntry(Integer.valueOf(expired), "expired")); 
              yEntrys.add(new PieEntry(Integer.valueOf(unDelivered), "unDelivered")); 
              yEntrys.add(new PieEntry(Integer.valueOf(delivered), "delivered")); 
              yEntrys.add(new PieEntry(Integer.valueOf(ndnc), "ndnc")); 





            } 



          } catch (JSONException e) { 
           e.printStackTrace(); 


          } 

답변

1

단지 PieChart에 항목을 추가하지 마십시오.

if (Integer.valueOf(messageSent) > 0) 
{ 
    yEntrys.add(new PieEntry(Integer.valueOf(messageSent), "messageSent")); 
} 

btw : JSON 구문 분석이 다소 유선입니다. 나는 JSON 문자열을 파싱하기 위해 POJO와 GSON을 제안 할 것이다.

+0

그 덕분에 나를 보자. – ashish

+0

잘 작동하지만 그 또한 하단 범례 데이터, 모든 솔루션을 숨기시겠습니까? – ashish

+0

piechart에 추가하거나 사용자 정의 ValueFormatter를 사용하여 레이블을 숨기지 만 여전히 범례에 표시하십시오. 다른 방법은 레이블을 편집하지 않고이 답안에서와 같이 사용자 지정 범례로 범례를 조정하는 것입니다. https://stackoverflow.com/a/40777867/5268730 – woodii

관련 문제