It's a little bit old thread, but I had the same issue so my solution was to set nodatatext immediately after the initialization of a chart:
PieChart pieChart = findViewById(R.id.chart) //in case of fragment view.findViewById(R.id.chart)
pieChart.setNoDataText("Loading");