2016-07-29 127 views
0

我想要生成一个乘法表,其中第一个EditText取实际数字,而第二个EditText取乘法表的实际范围。当我运行该项目时,结果只有编号*范围.. 任何人都可以帮助我在下面提到的循环或代码或者,GridLayoutTableLayout而不是TextView显示表中的任何替代方法。在TextView中的显示乘法表

protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_multiplication_table); 
    number = (EditText)findViewById(R.id.numberTable); 
    range = (EditText)findViewById(R.id.numberRange); 
    click = (Button)findViewById(R.id.click); 
    result = (TextView)findViewById(R.id.display); 
    final String x = range.getText().toString(); 
    click.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View view) { 
      int a = Integer.parseInt(number.getText().toString()); 
      int b = Integer.parseInt(range.getText().toString()); 



      for(int i = 1 ; i <= 10; i++) 
      { 
       for(int j = 1 ; j <= 10; j++) 
       { 
        int res = a * b; 
          result. setText(a +" * " + b + " = " + res); 

       } 





      } 
      return; 
     } 
    }); 

} 
} 
+0

什么你是否指“实际数量”和“实际范围”?也许你想要的最终结果的一个例子会有所帮助 –

+0

你可以给出EditText和预期结果的一些示例输入吗? –

+0

@ EthanWilliams-那么..例如,如果我有一个实际的数字为2 ..所需的范围为10 ..所以循环应该显示..乘法表2 .. ..如.. 2 x 1 = 2至 2 x 10 = 20 –

回答

1

要为每一行调用setText(),但setText()将重置TextView的文本,您可能需要使用append()代替

result.setText(""); 
int a = Integer.parseInt(number.getText().toString()); 
int b = Integer.parseInt(range.getText().toString()); 

for(int i = 1 ; i <= b; i++){  
    int res = a * i; 
    result.append(a +" * " + i + " = " + res + "\n");  
} 

或可能使用StringBuilder

int a = Integer.parseInt(number.getText().toString()); 
int b = Integer.parseInt(range.getText().toString()); 
StringBuilder builder = new StringBuilder(); 

for(int i = 1 ; i <= b; i++){  
    int res = a * i; 
    builder.append(a +" * " + i + " = " + res + "\n");  
} 

result.setText(builder.toString()) 
+0

@ lelloman-umm ..谢谢你的回答。但还是有一些问题..实际上应该是这样 2×1 = 2 2 ×2 = 4 2×3 = 6 ..等等.. 但其等 数*范围=值 范围是不从1个 和其显示相同的值,outuput开始如..实际数量=和期望范围= 所以其显示2×5 = 10 相同直到循环结束 –

+0

确定现在我明白了,我刚编辑答案,你应该只需要一个循环 – lelloman

+0

@ lelloman-非常感谢你的答案。它运作良好!你能否在另一个环境中帮我解决问题...正在尝试开发一个具有基本功能的简单计算器。如果在TextView中没有任何输入的情况下按下按钮,我该如何禁用该按钮。或者如果没有输入按下按钮,我如何在TextView中显示错误消息。任何形式的帮助将不胜感激。谢谢。 –