我有一个方法,我需要在活动开始时运行。 我已经尝试将它放在OnCreate中,但如果活动保持原状一段时间,则onCreate会被调用两次(就是这样,我正在检查在线更新......所以需要一些时间)
这就是为什么我不能将更新方法放在onCreate
中任何想法?
谢谢你, 罗恩
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.options);
checkUpdate();
}
private void checkUpdate(){
Runnable runnable = new Runnable() {
public void run() {
try
{
// create a web request to check if i have the latest update
HttpClient client = new DefaultHttpClient();
.
.
.
.
.
};
new Thread(runnable).start();
答案 0 :(得分:3)
通常,您不希望在UI线程上放置需要一些时间才能执行的方法。 相反,您可能希望创建AsyncTask(或Thread / Handlers)以在后台运行该方法。另请参阅onStart()是否可以帮助您从onCreate()移开一些逻辑。
答案 1 :(得分:1)
使用布尔值确定活动是否已经开始。
答案 2 :(得分:0)
你可以在oncreate中执行该方法但是添加一个类boolean字段来检查你是否已经添加了run该方法。