0

私は2つのボタン(到着と出発)を持っています。両方のボタンのクリックイベントでサウンドを再生し、それらの間でrequestfocusを切り替えたい..ここに問題があります

初めて到着ボタンまたは出発ボタンのいずれかをクリックすると、正常に機能します(サウンドとフォーカスの再生)が、クリックすると、たとえば、出発ボタンをクリックした後に到着すると、サウンドが再生されず、トーストも表示されません。

ここに私のコードサンプルがあります

Button btnArrival, btnDeparture, btnScan;
View cameraView;

MediaPlayer mPlayer;

boolean in, out;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnArrival = (Button) findViewById(R.id.btnArrival);
    btnDeparture = (Button) findViewById(R.id.btnDeparture);
    btnScan = (Button) findViewById(R.id.btnScan);
    cameraView = findViewById(R.id.cameraView);

    cameraView.setVisibility(View.GONE);

    //cameraLayout.setEnabled(false);
    btnScan.setEnabled(false);

}

public void onArrivalClicked(View v){

    MediaPlayer mPlayer = MediaPlayer.create(MainActivity.this, R.raw.clickbeep);
    mPlayer.start();
    btnScan.setEnabled(true);
    in = true;
    out = false;
    Toast.makeText(MainActivity.this, "Arrival", Toast.LENGTH_SHORT).show();
    focusArrivalBtn();


}

private void focusArrivalBtn() {
    btnArrival.setFocusableInTouchMode(true);
    btnArrival.requestFocus();
}



public void onDepartureClicked(View v){

    MediaPlayer mPlayer = MediaPlayer.create(MainActivity.this, R.raw.clickbeep);
    mPlayer.start();
    btnScan.setEnabled(true);
    in = false;
    out = true;
    Toast.makeText(MainActivity.this, "Departure", Toast.LENGTH_SHORT).show();
    focusDepartureBtn();
}


private void focusDepartureBtn() {
    btnDeparture.setFocusableInTouchMode(true);
    btnDeparture.requestFocus();
}
4

0 に答える 0