2017-03-16 5 views
-2
int n = Integer.parseInt(String.valueOf(txt.getText())); 

    for(int i = 1; i <= 10; i++) 
    { 
     txtview.setText(n+" "+i+"s are "+n*i); 
    } 

入力は、ボタンによってトリガーされるeditTextからのものです。ここでTextViewで数学的な表を印刷しようとしています。その唯一のテーブルの最後の行を印刷しますか?

はTextViewにある:

<TextView 
     android:id="@+id/textView" 
     android:layout_width="395dp" 
     android:layout_height="264dp" 
     android:layout_marginBottom="8dp" 
     android:layout_marginEnd="8dp" 
     android:layout_marginRight="8dp" 
     android:layout_marginTop="8dp" 
     android:text="Hey! what's up?" 
     android:textSize="20dp" 
     android:singleLine="false" 
     android:inputType="textEmailAddress|textMultiLine" 
     android:lines="20" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintRight_toRightOf="parent" 
     app:layout_constraintTop_toTopOf="parent" 
     app:layout_constraintVertical_bias="0.0" /> 
+0

をテキストビューへの最後の行 –

答えて

2

あなたは

setText(); 

を行うたびに新しいもので実際のテキストを置き換えます。代わりに

setText(txtview.getText().toString()+ "n+" "+i+"s are "+n*i"); 

を使用してください。

それとも、大きな文字列を作成し、ループの後にそれを表示:

String result=""; 
for(...) { 
    result+="n+" "+i+"s are "+n*i"; 
} 
txtview.setText(result); 
+0

2番目のオプションは良いです、最初にすべてのデータの単一の文字列を作成し、次にテキストを設定します。その答えも追加できますか? –

+0

ビッグストリングのものが私のために働いた!ありがとうalot :) – Ripudaman

4

この代わりに:

for(int i = 1; i <= 10; i++) { 
    txtview.setText(n+" "+i+"s are "+n*i); 
} 

この試してください:あなたが唯一の設定されているので

StringBuilder sBuilder = new StringBuilder(); 
for(int i = 1; i <= 10; i++) { 
    sBuilder.append(n+" "+i+"s are "+n*i); 
} 
txtview.setText(sBuilder.toString()); 
+0

ありがとう、それはうまくいった! :) – Ripudaman

関連する問題