【发布时间】:2010-04-19 20:41:48
【问题描述】:
我拼凑了一个简单的测试应用程序,它有一个按钮,当用户点击它时会发出声音。方法如下:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b = (Button)findViewById(R.id.easy);
b.setOnClickListener(this);
}
public void onClick(View v) {
MediaPlayer mp = MediaPlayer.create(this, R.raw.easy);
mp.start();
while(true) {
if (!mp.isPlaying()) {
mp.release();
break;
}
}
}
我的问题是,为什么 onCreate 表现得像在一个 while 循环中?我可以随时单击按钮,它会发出声音。我可能认为它只是侦听器的一个属性,但 Button 对象不是成员变量。我以为 Android 只会通过 onCreate onse,然后继续下一个生命周期方法。
另外,我知道我目前查看声音是否正在播放的方法很糟糕......我稍后会谈到。 :)
谢谢。
【问题讨论】:
标签: java android button listener