私はUdacityのアンドロイド初心者コース(初心者ではなくても)をやっていて、少しばかにすることにしました。Android - ボタンを画面に表示して音を正しく表示するようにする
私は、ボタンを(+1値を加えて)画面上の値を変更するか、サウンドを再生することができましたが、両方をミックスすると、ボタンはサウンドのみを再生しますが、 /画面上の値を更新、誰もがなぜ知っている?
私には3つの方法があります。
// This method calls mediaPlayer
public void mediaPlayer (String sound, String id){
Uri uriPlayer = Uri.parse("android.resource://" + getPackageName() + "/raw/" + sound);
final MediaPlayer mp = MediaPlayer.create(this, uriPlayer);
int playIdInt = getResources().getIdentifier(id, "id", getPackageName());
Button play_button = (Button)this.findViewById(playIdInt);
play_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mp.start();
}
});
}
画面の表示を呼び出し、変数に+1の値を加算する
/**
* This method displays the given quantity value on the screen.
*/
private void display(int number) {
TextView quantityTextView = (TextView) findViewById(R.id.quantity_text_view);
quantityTextView.setText("" + number);
の値を表示するため
-
:メディアプレーヤを呼び出すための1方法およびメディアプレーヤー方法:
public void increment (View view){
quantity = quantity + 1;
display(quantity);
mediaPlayer("mariocoin", "plus_button");
}
EDIT:ない必要に応じて確認してくださいが、ここでは、ボタンのXMLです:
<Button
android:id="@+id/plus_button"
android:layout_width="48dp"
android:layout_height="48dp"
android:onClick="increment"
android:text="+" />
事は、私がボタンを最初に再生するとき、それが画面上に1と表示が追加されますが、何の音が再生されないということです。 2回目以降は音だけを再生します。変数に+1を加えたり、画面上の値を変更することはありません。なぜ、どうすればこの問題を解決できますか?
ここで、quantity変数を開始しますか? –
@リチャード=あなたが何を意味するのか分かりません。ボタンのXMLコードは、2.method:displayと3.methodの両方を呼び出す1.method:インクリメントを呼び出します。mediaPlayer – mrbTT
quantity変数は初期値0でグローバルですか? –