我正在使用可滚动的TextView
开发一个简单的android活动。我在TextView
中显示1-100的数字,但是有时间延迟。然而,我想要的输出并不是我得到的。
当前输出: 1替换为2替换为3 ....直到100
期望输出:
1
2
3
4
。
。
100
这是我的活动代码:
public class MainActivity extends ActionBarActivity {
private static int i = 0;
TextView textView;
Handler handler;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_page);
textView = (TextView) findViewById(R.id.text_area);
new PrimeCalculation().execute();
handler = new Handler();
handler.post(updateView);
}
private Runnable updateView = new Runnable() {
@Override
public void run() {
if(i <= 100) {
textView.setText(Integer.toString(i));
i++;
handler.postDelayed(this, 1000);
}
}
};
}
答案 0 :(得分:3)
这个怎么样:
textView.setText(textView.getText() + "\n" + i);
答案 1 :(得分:1)
创建一个新的String Array。将文本视图设置为array.toString();
每次计时器用完时,将最新的数字插入数组并重复。最新的数字应该是一个在计时器用完时增加的int。希望这有帮助!
答案 2 :(得分:0)
试试这个
private Handler mHandler = new Handler();
private int nCounter = 0;
View.OnClickListener mButtonStartListener = new OnClickListener() {
public void onClick(View v) {
try {
mHandler.removeCallbacks(hMyTimeTask);
// Parameters
// r The Runnable that will be executed.
// delayMillis The delay (in milliseconds) until the Runnable will be executed.
mHandler.postDelayed(hMyTimeTask, 1000); // delay 1 second
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
private Runnable hMyTimeTask = new Runnable() {
nCounter++;
hTextView.append("\n"+nCounter);
}
public void run() {
};
希望这会对你有所帮助
答案 3 :(得分:0)
您可以使用以下代码......
public class MainActivity extends ActionBarActivity {
private static int i = 0;
TextView textView;
Handler handler;
String textViewText="";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.text_area);
handler = new Handler();
handler.post(updateView);
}
private Runnable updateView = new Runnable() {
@Override
public void run() {
if(i <= 100) {
// textViewText = textViewText + Integer.toString(I)+&#34; &#34 ;;
textView.setText(textViewText);
// textViewText = textViewText + textView.getText()。toString();
i++;
handler.postDelayed(this, 1000);
}
}
};}
我希望它能帮助你......