我是一个完整的新手。我试图将我在课堂上制作的这个简单程序移植到Android应用程序中。它只是打算打印出来"我喜欢计算机科学!"一定数量。但是我怀疑while循环导致我的程序自动强制关闭。我已经搜索过并发现我需要制作一个帖子,但我找不到相似的情况。
这是我的onCreate方法:
public void onClick(View v)
{
int number = 1;
int printed = 0;
int limit = 0;
int count = 0;
String countString;
second.setText("How much do you love Computer Science?");
countString = howMuchEditText.getText().toString();
count = Integer.valueOf(countString);
printed = count;
while ((count -1) >= limit)
{
third.setText(+number + " I love Computer Science!!");
count -= 1;
number ++;
}
fourth.setText("This printed " +printed + " times.");
}
});
}
}
有人能帮助我解决我的力量吗?
答案 0 :(得分:0)
Android只允许应用程序的处理程序执行五秒钟,然后才能收到“应用程序无响应”消息。根据循环次数,您的onClick
方法可能很容易超出此限制。
如果要显示自动更新计数器,则需要启动在后台执行的异步任务。
AsyncTask
上的{p> Here is a quick tutorial,但在有意义之前,您需要了解有关Android平台基础知识的更多信息。祝你好运!
答案 1 :(得分:0)
要添加到上一个答案,AsyncTask也不是答案。这是因为您无法在后台线程上对TextView进行修改 - 只允许在主线程上进行UI调用。要在UI线程上安排定期任务,请创建一个Handler对象,该对象具有各种post
方法,您可以调用这些方法在指定的时间间隔后运行任务,或者尽快。