对于Android中的新类型Runnable(){},未定义Sleep(int)方法

时间:2014-08-29 19:24:01

标签: java android thread-sleep

我使用了来自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);
      }
}

2 个答案:

答案 0 :(得分:1)

您可能正在寻找的是

Thread.sleep(1000);

Runnable是一个接口,它没有任何已实现的方法,只有public void run(),你必须覆盖并实现它。

答案 1 :(得分:0)

那段代码完全错了。它应该是Thread.sleep(1000),但即便如此,它也不正确,它会产生一个"应用程序没有响应"错误,因为它试图暂停UI线程。

请花一些时间阅读Java和Android书籍。来自互联网的半生不熟的实施后,你无法获得任何好处。