android 不可点击状态,Android系统.如何使用setClickable同时设置所有按钮可点击或不可点击?...
屏幕顯示四個按鈕.按下按鈕時,媒體播放器播放聲音.我遇到的問題是同時為所有按鈕實現setClickable.
單擊一個按鈕后,我希望所有按鈕都不可點擊,直到媒體播放器播放完與按鈕單擊相關的聲音.然后我想將所有按鈕設置回可點擊狀態.
代碼運行正常,直到我啟用setClickable代碼 – 在我的代碼示例中禁用了buttonOne的代碼.測試電話鎖定并告訴我應用程序已停止并再次嘗試.
不幸的是,如果沒有setClickable,用戶可以在完成第一個選定聲音播放之前按任意按鈕并聽到任何聲音.
感謝您的時間和幫助.
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageButton;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
public class hipsterdoofus extends Activity
{
private int asoundfilenumber;//integer id of sound file to be played
public ImageButton buttonOne;
public ImageButton buttonTwo;
public ImageButton buttonThree;
public ImageButton buttonFour;
public void myClickHandler(View v) {
switch (v.getId())
{
case R.id.buttonOne:
asoundfilenumber=0x7f040000;
break;
case R.id.buttonTwo:
asoundfilenumber=0x7f040001;
break;
case R.id.buttonThree:
asoundfilenumber=0x7f040002;
break;
case R.id.buttonFour:
asoundfilenumber=0x7f040003;
break;
}//closes switch test
freezeButtonsAndPlaySoundThenUnfreezeButtons();
}//closes onClick
public void freezeButtonsAndPlaySoundThenUnfreezeButtons()
{
**//buttonOne.setClickable( false );//sets buttonOne to unclickable**
MediaPlayer mp = MediaPlayer.create(getBaseContext(), asoundfilenumber);
mp.start();
mp.setOnCompletionListener(new OnCompletionListener()//listens for player to finish then releases player
{
@Override
public void onCompletion(MediaPlayer mpalmost)
{
mpalmost.release();
}
});
**//buttonOne.setClickable( true ); //sets buttonOne to clickable**
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.main );
}
總結
以上是生活随笔為你收集整理的android 不可点击状态,Android系统.如何使用setClickable同时设置所有按钮可点击或不可点击?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 方向控制界面,Andro
- 下一篇: android studio faile