calling
方法存在问题。我创建了button
,如果点击它,就会启动onClick()
。此方法调用up-class
中的其他方法。在这些方法中,我将layout
按setContentView(R.layout...);
设置为两种不同的布局。目前,我的代码将布局更快地更改为第二个布局。我该如何处理它,如果第一种方法准备就绪,第二种布局只会设置?我知道它必须是asynch-tasks
的东西,但我需要帮助来处理它。
我的代码:
public void do(int a) {
method1();
method2();
}
这两种方法都来自超类。 Method1应将setContentView(r.layout.1)和method2设置为r.layout.2。
答案 0 :(得分:0)
如果你想在第一个和第二个方法之间有一些时间,你可以在使用处理程序延迟一段时间之后调用第二个方法,如下所示
public void do(int a) {
method1();
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
// TODO Auto-generated method stub
try
{
method2();
}
catch(Exception e)
{
Log.d("Exception",""+e.getMessage());
}
}
}, 500);
}
答案 1 :(得分:0)
您可以执行AsyncTask:
public class BasicAsyncTask extends AsyncTask{
@Override
protected Object doInBackground(Object[] params) { // this will start when .execute() is called
method1();
return null;
}
@Override
protected void onPostExecute(Object o) { // this will be executed when doInbackGround finishes
super.onPostExecute(o);
method2();
}
}
启动AsynkTask:
BasicAsyncTask basicAsyncTask = new BasicAsyncTask();
basicAsyncTask.execute();