有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaJSonarray不会从SeekBar读取double

我是Android新手,在向JSONArray读取多个SeekBar双值时遇到问题。我的代码适用于ints(我有其他部分也是这样工作的),但我不知何故无法使它使用双值

我一直在寻找答案,但无法完全找到我所寻找的并修复它

需要将数据从MainActivity文件读取到结论类

主要活动。java

public void conclusion(View view){
    Intent intent = new Intent(MainActivity.this, Conclusion.class);

    intent.putExtra("s", (seekBar.getProgress() / 4));
    intent.putExtra("s2", (seekBar2.getProgress() / 4));
    intent.putExtra("s3", (seekBar3.getProgress() / 4));
    intent.putExtra("s4", (seekBar4.getProgress() / 4 ));
    intent.putExtra("s5", (seekBar5.getProgress() / 4 ));
    intent.putExtra("s6", (seekBar6.getProgress() / 4 ));
    intent.putExtra("s7", (seekBar7.getProgress() / 4 ));
    intent.putExtra("s8", (seekBar8.getProgress() / 4 ));
    intent.putExtra("s9", (seekBar9.getProgress() / 4 ));

    startActivity(intent);
}

结论。java

    double seekBar = getIntent().getDoubleExtra("s", 0);
    double seekBar2 = getIntent().getDoubleExtra("s2", 0);
    double seekBar3 = getIntent().getDoubleExtra("s3", 0);
    double seekBar4 = getIntent().getDoubleExtra("s4", 0);
    double seekBar5 = getIntent().getDoubleExtra("s5", 0);
    double seekBar6 = getIntent().getDoubleExtra("s6", 0);
    double seekBar7 = getIntent().getDoubleExtra("s7", 0);
    double seekBar8 = getIntent().getDoubleExtra("s8", 0);
    double seekBar9 = getIntent().getDoubleExtra("s9", 0);

和JSONArray在结论中。java都在onCreate()方法中

    JSONArray jscales= new JSONArray();
    jscales.put(seekBar);
    jscales.put(seekBar2);
    jscales.put(seekBar3);
    jscales.put(seekBar4);
    jscales.put(seekBar5);
    jscales.put(seekBar6);
    jscales.put(seekBar7);
    jscales.put(seekBar8);
    jscales.put(seekBar9);

我尝试将计算转移到不同的部分,但没有效果。我知道JSONArray应该能够读取double,所以这不是问题所在

如何将这个双精度值读入JSONArray


共 (1) 个答案

  1. # 1 楼答案

    将你传递的结果投射到意图中。将putExtra()方法设置为双重数据类型或使用意图。改为putDouble()。像这样:

         intent.putExtra("s", ((double)seekBar.getProgress() /
    

    (4);因为当你输入int时,你想得到一个双精度