我使用了来自Android recipe - create loading screen的代码但是,我在使用this.sleep()时遇到问题,因为我收到错误“方法Sleep(int)未定义类型new Runnable(){}”其他问题已经说明命名类的问题,如“线程”。但我的代码似乎并非如此。
代码
public class LoadingScreenActivity extends Activity {
//Introduce an delay
private final int WAIT_TIME = 2500;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
System.out.println("LoadingScreenActivity screen started");
setContentView(R.layout.loading_screen);
findViewById(R.id.mainSpinner1).setVisibility(View.VISIBLE);
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
//Simulating a long running task
this.Sleep(1000);
System.out.println("Going to Profile Data");
/* Create an Intent that will start the ProfileData-Activity. */
Intent mainIntent = new Intent(LoadingScreenActivity.this,ProfileData.class);
LoadingScreenActivity.this.startActivity(mainIntent);
LoadingScreenActivity.this.finish();
}
}, WAIT_TIME);
}
}
答案 0 :(得分:1)
您可能正在寻找的是
Thread.sleep(1000);
Runnable是一个接口,它没有任何已实现的方法,只有public void run(),你必须覆盖并实现它。
答案 1 :(得分:0)
那段代码完全错了。它应该是Thread.sleep(1000)
,但即便如此,它也不正确,它会产生一个"应用程序没有响应"错误,因为它试图暂停UI线程。
请花一些时间阅读Java和Android书籍。来自互联网的半生不熟的实施后,你无法获得任何好处。