Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何让每个TextView根据另一个变量显示内容?_Java_Android_Textview - Fatal编程技术网

Java 如何让每个TextView根据另一个变量显示内容?

Java 如何让每个TextView根据另一个变量显示内容?,java,android,textview,Java,Android,Textview,我正在申请一份老师的申请表,你把分数设为最大值,它会告诉你每个分数的错误百分比。然后我想用这个百分比让每个文本视图显示相应百分比的等级。因此,第一列是超出最大值的金额,第二列是百分比,第三列是字母等级。然后我有八行,但我想在将来扩展它。我知道如果百分比在两个数字之间,我必须用if来表示,将text设置为字母等级,但我是否必须对每个textview都这样做,或者还有什么其他方法可以做到这一点 这是我到目前为止基本上必须完成的代码: MaxInt = Integer.parseInt(num

我正在申请一份老师的申请表,你把分数设为最大值,它会告诉你每个分数的错误百分比。然后我想用这个百分比让每个文本视图显示相应百分比的等级。因此,第一列是超出最大值的金额,第二列是百分比,第三列是字母等级。然后我有八行,但我想在将来扩展它。我知道如果百分比在两个数字之间,我必须用if来表示,将text设置为字母等级,但我是否必须对每个textview都这样做,或者还有什么其他方法可以做到这一点

这是我到目前为止基本上必须完成的代码:

    MaxInt = Integer.parseInt(number);

    minus1 = MaxInt - 1;
    minus2 = MaxInt - 2;
    minus3 = MaxInt - 3;
    minus4 = MaxInt - 4;
    minus5 = MaxInt - 5;
    minus6 = MaxInt - 6;
    minus7 = MaxInt - 7;
    minus8 = MaxInt - 8;

    float PD1 = (minus1 * 100.0f) / MaxInt;
    float PD2 = (minus2 * 100.0f) / MaxInt;
    float PD3 = (minus3 * 100.0f) / MaxInt;
    float PD4 = (minus4 * 100.0f) / MaxInt;
    float PD5 = (minus5 * 100.0f) / MaxInt;
    float PD6 = (minus6 * 100.0f) / MaxInt;
    float PD7 = (minus7 * 100.0f) / MaxInt;
    float PD8 = (minus8 * 100.0f) / MaxInt;

    int D1 = (int) PD1;
    int D2 = (int) PD2;
    int D3 = (int) PD3;
    int D4 = (int) PD4;
    int D5 = (int) PD5;
    int D6 = (int) PD6;
    int D7 = (int) PD7;
    int D8 = (int) PD8;


    P1 = String.valueOf(D1);
    P2 = String.valueOf(D2);
    P3 = String.valueOf(D3);
    P4 = String.valueOf(D4);
    P5 = String.valueOf(D5);
    P6 = String.valueOf(D6);
    P7 = String.valueOf(D7);
    P8 = String.valueOf(D8);


    TV1.setText(Integer.toString(minus1));
    TV2.setText(Integer.toString(minus2));
    TV3.setText(Integer.toString(minus3));
    TV4.setText(Integer.toString(minus4));
    TV5.setText(Integer.toString(minus5));
    TV6.setText(Integer.toString(minus6));
    TV7.setText(Integer.toString(minus7));
    TV8.setText(Integer.toString(minus8));
    TV9.setText(P1 + "%");
    TV10.setText(P2 + "%");
    TV11.setText(P3 + "%");
    TV12.setText(P4 + "%");
    TV13.setText(P5 + "%");
    TV14.setText(P6 + "%");
    TV15.setText(P7 + "%");
    TV16.setText(P8 + "%");

我知道其中有些不必要,比如将浮点转换为整数,然后转换为字符串,但我会在完成后修复它。TV17-TV24将是字母等级。

您可以通过在应用程序中编程膨胀线性布局来实现。这样,您只需创建一个文本视图,并像listview@cricket_007我确实完成了前两列,但我没有完成第三列,你想让我发布我的代码吗?所有分数都有相同的最大值吗?使用ListView、自定义适配器和一些
Grade
类可以轻松完成这项工作。你能分享一个你想让它看起来像什么样的布局示例吗?