Java 根据显示的文本更改按钮的操作
Java 根据显示的文本更改按钮的操作,java,android,android-mediaplayer,textview,android-button,Java,Android,Android Mediaplayer,Textview,Android Button,我想知道如何根据文本视图中显示的文本更改按钮的操作。我正在使用Android Studio。 我曾尝试使用“if语句”,但似乎不起作用。因此,我希望根据文本视图中显示的文本播放不同的声音 package com.msp.exampleapplication; import android.media.MediaPlayer; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import and
我想知道如何根据文本视图中显示的文本更改按钮的操作。我正在使用Android Studio。 我曾尝试使用“if语句”,但似乎不起作用。因此,我希望根据文本视图中显示的文本播放不同的声音
package com.msp.exampleapplication;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class PrimaryClass extends AppCompatActivity {
TextView placeholder;
Button playsound_button;
MediaPlayer mySound;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.primary_layout);
placeholder = (TextView) findViewById(R.id.placeholder);
playsound_button = (Button) findViewById(R.id.playsound_button);
placeholder.setText(getIntent().getStringExtra("message"));
}
public void playSound(View view) {
if (placeholder.equals("BMW M4")) {
mySound = MediaPlayer.create(this, R.raw.sound);
mySound.start();
}
else if (placeholder.equals("BMW M5")) {
mySound = MediaPlayer.create(this, R.raw.sound2);
mySound.start();
}
}
}
因此,如果文本视图(占位符)的文本是“BMW M4”,那么当点击按钮时,它必须播放R.raw.sound。如果文本视图(占位符)中显示“BMW M5”,则必须播放R.id.sound2。
但正如我所说,我尝试使用if语句,当我单击按钮时,根本没有声音播放。是的,正如@Akshay Bhat'AB'所说,您必须这样做:
if (placeholder.getText().toString().equals("BMW M4")) {
mySound = MediaPlayer.create(this, R.raw.sound);
mySound.start();
}
else if (placeholder.getText().toString().equals("BMW M5")) {
mySound = MediaPlayer.create(this, R.raw.sound2);
mySound.start();
}
请参阅本帖:
注释tho中有一个错误,它是toString()
而不是toString
,您需要,而不是文本视图本身的引用
placeholder.getText().toString().equals("BMW M4")
如果您的if语句检查错误,请像
if(placeholder.getText().toString.equals(“BMW M4”))
那样执行,当我执行此操作时,“toString”变为红色,并说“无法解析符号“toString”?@MSP,toString是一个函数而不是一个属性-这只是一个小错误非常感谢!现在一切正常,非常感谢!