Кто-нибудь знает, как создать круговую диаграмму в Recyclerview? У меня есть пять круговых диаграмм, которые мне нужно сделать в Recyclerview. Однако, похоже, что мой код не работает, поскольку круговая диаграмма тоже не появилась.
У всех текстовых представлений нет проблем, только проблема с круговой диаграммой. Есть ли кто-то, кто может помочь мне решить эту проблему? Спасибо. :)
Вот мое кодирование в классе Recyclerview
public class MyRecyclerViewPer extends RecyclerView.Adapter<MyRecyclerViewPer.MyViewHolder> {
private Context context;
ArrayList <Integer> tlist;
String[] disorder = {"Anxiety", "Bipolar", "Dementia","Depression","Schizophrenia"};
int[] one = new int[5];
int[] two = new int[5];
int[] three = new int[5];
int[] four = new int[5];
int[] five = new int[5];
private AdapterView.OnItemClickListener listener;
public MyRecyclerViewPer(Context c, ArrayList <Integer> t, int[] o, int[] tw, int[] th, int[] fo,int[] fi){
context=c;
tlist=t;
one=o;
two=tw;
three=th;
four=fo;
five=fi;
}
class MyViewHolder extends ViewHolder{
TextView tname,sc,o,t,th,fo,fi;
RelativeLayout parentLayout;
PieChart pieChart;
PieData pieData;
PieDataSet pieDataSet;
ArrayList pieEntries;
ArrayList PieEntryLabels;
public MyViewHolder(View view){
super(view);
sc=itemView.findViewById(R.id.score);
tname=itemView.findViewById(R.id.title);
o=itemView.findViewById(R.id.one);
t=itemView.findViewById(R.id.two);
th=itemView.findViewById(R.id.three);
fo=itemView.findViewById(R.id.four);
fi=itemView.findViewById(R.id.five);
parentLayout = itemView.findViewById(R.id.parent_layout);
pieChart = itemView.findViewById(R.id.pieChart);
}
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new MyViewHolder(LayoutInflater.from(context).inflate(R.layout.chart,parent,false));
}
@Override
public void onBindViewHolder(@NonNull final MyViewHolder holder, final int position) {
holder.tname.setText(disorder[position]);
holder.sc.setText(String.valueOf(tlist.get(position)));
holder.o.setText(String.valueOf(one[position]));
holder.t.setText(String.valueOf(two[position]));
holder.th.setText(String.valueOf(three[position]));
holder.fo.setText(String.valueOf(four[position]));
holder.fi.setText(String.valueOf(five[position]));
holder.pieEntries = new ArrayList<>();
holder.pieEntries.add(new PieEntry(one[position], 0));
holder.pieEntries.add(new PieEntry(two[position], 1));
holder.pieEntries.add(new PieEntry(three[position], 2));
holder.pieEntries.add(new PieEntry(four[position], 3));
holder.pieEntries.add(new PieEntry(five[position], 4));
holder.pieDataSet = new PieDataSet(holder.pieEntries, "");
holder.pieData = new PieData(holder.pieDataSet);
holder.pieChart.setData(holder.pieData);
holder.pieDataSet.setColors(ColorTemplate.JOYFUL_COLORS);
holder.pieDataSet.setSliceSpace(2f);
holder.pieDataSet.setValueTextColor(Color.WHITE);
holder.pieDataSet.setValueTextSize(10f);
holder.pieDataSet.setSliceSpace(5f);
}
@Override
public int getItemCount() {
return tlist.size();
}
}