0

我是一个完整的新手。我正在尝试将我在课堂上制作的这个简单程序移植到 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.");
     }
    });

}
}

谁能帮我修复我的力量关闭?

4

2 回答 2

0

要添加到前面的答案, AsyncTask 也不是答案。这是因为您无法在后台线程上对 TextView 进行修改——UI 调用只允许在主线程上进行。要在 UI 线程上安排定期任务,请为自己创建一个Handler对象,该对象具有多种post方法,您可以调用这些方法在指定的时间间隔后或尽快运行任务。

于 2012-05-16T00:33:18.557 回答
0

Android 只允许您的应用程序的处理程序执行五秒钟,然后您将收到“应用程序无响应”消息。根据循环计数,您的onClick方法很容易超过该限制。

如果要显示自动更新的计数器,则需要启动在后台执行的异步任务。

这是一个关于的快速教程AsyncTask,但您需要了解更多有关 Android 平台基础知识的知识,然后才有意义。祝你好运!

于 2012-05-15T22:22:46.750 回答