我希望這不是一個愚蠢的問題。我在清理TextView時遇到了一些麻煩。我環顧四周,大家一直說使用:textView.setText(「」);在onCreate但似乎沒有工作出於某種原因。基本上,我的應用程序只接受editText中的數字,然後運行斐波那契數列(單擊按鈕時)並將結果顯示在textView中。那麼,序列顯示正常,但我希望textview每次點擊按鈕時清除 - 到目前爲止,它只是添加更多的文本到已經存在的內容。TextView不會清除某些原因,Android
我在放置textView.setText(「」);在錯誤的位置?還是我錯過了其他一些概念? (我也嘗試將它從我的OnClick中放置 - 也沒有工作)。
這裏是我的代碼:
public class MainActivity extends Activity {
// primary widgets
private EditText editText;
private TextView textView;
private Button button1;
static ArrayList<Integer> fibList = new ArrayList<Integer>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText1);
textView = (TextView) findViewById(R.id.textView2);
button1 = (Button) findViewById(R.id.button1);
//Attempt to clear TextView
textView.setText("");
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String input = editText.getText().toString();
int number = Integer.parseInt(input);
int tmp = 0;
// confirm input
if (number < 20) {
Toast.makeText(getApplicationContext(),
"You entered: " + number, Toast.LENGTH_LONG).show();
for (int i = 0; i <= number; i++) {
fibList.add(fib(i));
// sum even numbers
if (fib(i) % 2 == 0) {
tmp += fib(i);
}
}
} else {
Toast.makeText(getApplicationContext(),
"Number is too Large: " + number, Toast.LENGTH_LONG)
.show();
}
String array = fibList.toString();
textView.setText(array);
}
});
}
// run fibonacci sequence
public static int fib(int n) {
if (n < 2) {
return n;
} else {
return fib(n - 1) + fib(n - 2);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
你應該加上'textView.setText( 「」);''裏面的onClick(視圖v)' – Wamasa 2013-05-09 16:52:20
@戴夫如果你已經嘗試了我的答案,就會受到損傷,我看到你嘗試了其他人。 – TronicZomB 2013-05-09 18:50:04
我做的問題是清除我的數組列表,然後清除textView的組合。謝謝。 – David 2013-05-09 19:13:03