2011-10-25 57 views

回答

2

问题存在的位置:

View splashscreen = (View) findViewById(R.layout.splash); 
splashscreen.setOnClickListener(this); 

你得到一个例外,因为splashscreen为空,并在一个空指针调用setOnClickListener()是不允许的。指针为null的原因是因为您需要使用正确的ID从XML获取对视图的引用。您的splash.xml位于res/layout中的文件正在作为活动的内容视图加载,但您应具有与该特定视图关联的适当的R.id值。

splash.xml中,为此目的声明的视图在其XML声明(我挑选了“某物”空气中,该标识符可以是任何你想要的)时应该具有android:id="@+id/something"属性。然后,您可以拨打:

//Hint: You don't have to cast the result if the pointer is a plain vanilla View 
View splashscreen = findViewById(R.id.something); 
splashscreen.setOnClickListener(this); 

然后你会得到的观点和你的一套方法不会失败的有效参考。

HTH

0

是,Devunwired是正确的。您必须将资源ID赋予特定视图。而不是你要给布局文件名称的引用作为“splash.xml”。

也尝试使Id名称与布局文件名称不同。它不是和错误,但有时发生,使得可能引发问题理解并给予资源id不同的参考。

谢谢。

0

而不是使用Thread的,你可以尝试Handler

Handler handler = new Handler(); 

handler.post(new Runnable(){ 
    public void run(){ 
     //TODO 
    } 
}); 

顺便说一句,张贴多个异常堆栈跟踪会更有帮助。