gpt4 book ai didi

java - 在 OnCreate 中定义按钮 - 无法解析方法中的符号

转载 作者:太空宇宙 更新时间:2023-11-03 10:35:48 25 4
gpt4 key购买 nike

如您所见,我是初学者。我看不出在哪里可以合法地放置 Button 语句和 setText 语句,所以这将编译。如果我移动一个,另一个就不起作用,反之亦然。我知道 OnCreate 是 protected ,因此“buttonOne”不会传递给 playPhrases 方法,但我已经改变了一段时间但没有任何效果。请简单的解释。

    package com.example.android.languageapp;

import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

import static android.R.attr.button;

public class MainActivity extends AppCompatActivity {

MediaPlayer myMediaPlayer;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myMediaPlayer = MediaPlayer.create(this, R.raw.hello);

String[] phrases = getResources().getStringArray(R.array.phrase);



Button buttonOne = (Button) findViewById(R.id.button1);
Button buttonTwo = (Button) findViewById(R.id.button2);
Button buttonThree = (Button) findViewById(R.id.button3);
Button buttonFour = (Button) findViewById(R.id.button4);
Button buttonFive = (Button) findViewById(R.id.button5);
Button buttonSix = (Button) findViewById(R.id.button6);
Button buttonSeven = (Button) findViewById(R.id.button7);
Button buttonEight = (Button) findViewById(R.id.button8);

buttonOne.setText(phrases[0]);
buttonTwo.setText(phrases[1]);
buttonThree.setText(phrases[2]);
buttonFour.setText(phrases[3]);
buttonFive.setText(phrases[4]);
buttonSix.setText(phrases[5]);
buttonSeven.setText(phrases[6]);
buttonEight.setText(phrases[7]);
}


public void playPhrases(View clickedButton) {

int id = clickedButton.getId();

Log.i("Button id", "" + id);

if (id == buttonOne.getId()) {

myMediaPlayer = MediaPlayer.create(this, R.raw.doyouspeakenglish);

myMediaPlayer.start();
}


}



}

谢谢你的帮助

最佳答案

你只需要在 playPhrases 中使用 id click listener 就像这样,

public void playPhrases(View clickedButton) {

int id = clickedButton.getId();

Log.i("Button id", "" + id);

switch (id) {
case R.id.R.id.button1:
// Button 1 operation
myMediaPlayer = MediaPlayer.create(this, R.raw.doyouspeakenglish);

myMediaPlayer.start();
break;
case R.id.R.id.button2:
// Button 2 operation
break;
case R.id.R.id.button3:
// Button 3 operation
break;
}
// We dont need button object
//if (id == buttonOne.getId()) {
//
// myMediaPlayer = MediaPlayer.create(this, R.raw.doyouspeakenglish);
//
// myMediaPlayer.start();
//}


}

关于java - 在 OnCreate 中定义按钮 - 无法解析方法中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45454695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com