我目前正在开发一个带有启动画面并带有声音的应用程序。启动画面完成后,我希望它能够进入我的主菜单。我的问题是播放声音后,它总是崩溃。我尝试过其他具有相同问题的线程,但执行方法不同,但在启动屏幕的末尾会不断崩溃。
编辑:当我运行该应用程序时,我的事件日志显示该应用程序已成功运行,未发现任何错误。 我运行了调试器,它说
E/ArrayAdapter: You must supply a resource ID for a TextView
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.finalproject,PID: 12755
java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView
Caused by: java.lang.ClassCastException: android.widget.RelativeLayout cannot be cast to android.widget.TextView
at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:388)
我认为一定是因为我的Mainactivity导致了问题。
我的启动代码:
public class Splashactivity extends AppCompatactivity {
MediaPlayer ourSound;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
Thread timer = new Thread(){
@Override
public void run(){
try {
ourSound = MediaPlayer.create(Splashactivity.this,R.raw.splashsound);
ourSound.start();
sleep(4000);
} catch (InterruptedException e){
} finally {
Intent i = new Intent(Splashactivity.this,Mainactivity.class);
startactivity(i);
} // end finally
} // end run
};
timer.start();
} // end onCreate
@Override
protected void onPause(){
super.onPause();
ourSound.release();
} // end onPause
} // end Splashactivity
我的Mainactivity代码:
public class Mainactivity extends Listactivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
String[] mainmenu = {"Websites","Directions","Scheduling","Photos"};
setListAdapter(new ArrayAdapter<String>(this,R.layout.activity_main,mainmenu));
} // end onCreate
protected void onListItemClick(ListView l,View v,int position,long id) {
switch (position) {
case 0:
startactivity(new Intent(Mainactivity.this,Websites.class));
break;
case 1:
startactivity(new Intent(Mainactivity.this,Directions.class));
break;
case 2:
startactivity(new Intent(Mainactivity.this,Scheduling.class));
break;
case 3:
startactivity(new Intent(Mainactivity.this,Photos.class));
break;
} // end switch
}// end onListItemClick
} // end Mainactivity