Java 在android中选中复选框时,如何计算百分比?

Java 在android中选中复选框时,如何计算百分比?,java,android,Java,Android,我有个问题。我有25个复选框,我需要知道有多少复选框被选中的百分比。 我的代码如下。当我选中复选框时,出现错误消息/强制关闭应用程序 p1.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (p1.isChec

我有个问题。我有25个复选框,我需要知道有多少复选框被选中的百分比。 我的代码如下。当我选中复选框时,出现错误消息/强制关闭应用程序

p1.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if (p1.isChecked()){
        palm1=longitude+","+latitude;
        //Toast.makeText(getBaseContext(), palm1, Toast.LENGTH_SHORT).show();
    }else {
        palm1="health";
        //Toast.makeText(getBaseContext(), "uncheck", Toast.LENGTH_SHORT).show();
    }

    percentage();

        }});
public void percentage(){
    Vector<CheckBox> allCheck=new Vector<CheckBox>();

    int counterChecked=0;

    allCheck.add(p1);
    allCheck.add(p2);
    allCheck.add(p3);
    allCheck.add(p4);
    allCheck.add(p5);
    allCheck.add(p6);
    allCheck.add(p7);
    allCheck.add(p8);
    allCheck.add(p9);
    allCheck.add(p10);
    allCheck.add(p11);
    allCheck.add(p12);
    allCheck.add(p13);
    allCheck.add(p14);
    allCheck.add(p15);
    allCheck.add(p16);
    allCheck.add(p17);
    allCheck.add(p18);
    allCheck.add(p19);
    allCheck.add(p20);
    allCheck.add(p21);
    allCheck.add(p22);
    allCheck.add(p23);
    allCheck.add(p24);
    allCheck.add(p25);



    for(int i=0; i<allCheck.size();i++)
           if(allCheck.get(i).isChecked()){
              // str.get(i)=longitude+","+latitude;
           counterChecked++;
           }

    double percent = (counterChecked * 100) / allCheck.size();
    persen=String.format("%.1f", percent+"%");
    kerusakan= Integer.toString(counterChecked);


}
退房:

persen=String.format("%.1f", percent+"%");
将其更改为:

persen=String.format("%.1f", percent);

你的日志猫会告诉你它在哪里坠毁。张贴你的日志猫too@Buddy我的日志捕获被更新为
persen=String.format(“%.1f%%”,百分比)会更好一点!正确的。如果您希望在数字后有一个%标记,请使用Prasanna代码。我刚刚删除了答案中的错误。但是,百分比仍然不起作用,它无法计算选中了多少复选框。@SaSya这是另一个问题;)。打开一个新的,并提供您的结果和预期结果。@Prasanna感谢它的工作!!英雄联盟
persen=String.format("%.1f", percent);