出于某种原因,当我在我的代码中声明onResume()时,它会在开始时无缘无故地崩溃我的程序,它甚至都没有打开。
这是我的onResume()代码:
public void onResume()
{
if(play==true)
{
if(playing==false)
{
if(numbl>0)
{
letter=thefull.substring(cur, cur+1);
if(letter.equals("m"))
{
oursong = MediaPlayer.create(MainActivity.this, R.raw.m);
oursong.start();
playing=true;
}
else if(letter.equals("a"))
{
oursong = MediaPlayer.create(MainActivity.this, R.raw.a);
oursong.start();
playing=true;
}
else if(letter.equals("r"))
{
oursong = MediaPlayer.create(MainActivity.this, R.raw.r);
oursong.start();
playing=true;
}
}
}
}
}
一旦删除onResume(),程序运行就好了。 我做错了吗?
以下是我的完整代码:http://pastebin.com/faVfFK6q
答案 0 :(得分:6)
你必须完成android活动的生命周期。
如果你重写onResume()或生命周期的任何方法,你应该调用super.onResume();
public void onResume(){
super.onResume();
/// Your Code
}
<强>更新强>
你检查的条件是onResume()方法是不正确的。
if(play) // UPDATE HERE
{
if(!playing)// UPDATE HERE
{
if(numbl>0)
{
letter=thefull.substring(cur, cur+1);
if(letter.equals("m"))
{
oursong = MediaPlayer.create(MainActivity.this, R.raw.m);
oursong.start();
playing=true;
}
else if(letter.equals("a"))
{
oursong = MediaPlayer.create(MainActivity.this, R.raw.a);
oursong.start();
playing=true;
}
else if(letter.equals("r"))
{
oursong = MediaPlayer.create(MainActivity.this, R.raw.r);
oursong.start();
playing=true;
}
}
}
}