如何在TextView中设置文本10次?更准确地说,如何在单个TextView中打印1到10的乘法?

时间:2016-08-11 13:50:00

标签: android android-layout listview android-studio

这是乘法代码:

for (i = 1;i <= 10;i++)
{
tvRes.setText("\n"+Number + "*" + i + "=" + (Number * i)+"\n");
}

这是TextView的xml布局代码:

<TextView
    android:id="@+id/tvRes"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="10dp"
    />

2 个答案:

答案 0 :(得分:1)

假设你的号码是2

  StringBuilder builder = new StringBuilder();
    for (int i =1;i<=10;i++){
        builder.append("\n"+2 + "*" + i + "=" + (2 * i)+"\n");
    }

  String textToPrint = builder.toString();
  tvRes.setText(textToPrint);

答案 1 :(得分:0)

您的代码将在TextView的每次迭代中为for-loop设置新值。因此,您可以先在for-loop中构建字符串,然后使用tvRes.setText设置生成的字符串。或者,您可以在每次迭代时附加tvRex.getText().toString()的当前值。

int Number = 1; //I am assuming because you did not show where you initialize it
String generatedString = "";
for (i = 1;i <= 10;i++)
{
  generatedString += ""+Number+"*"+i+"=" + (Number * i)+"\n");
}
  tvRes.setText(generatedString);

尝试一下,让我知道这是否有帮助。