我想知道如何根据TextView中显示的文本更改按钮的操作。我正在使用Android Studio。
我试图使用' if语句'但这似乎不起作用。所以,我希望根据TextView中显示的文本来播放不同的声音。
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();
}
}
}
因此,如果TextView(占位符)的文本是" BMW M4",那么当单击该按钮时,它必须播放R.raw.sound。如果"宝马M5"显示在TextView(占位符)中,然后R.id.sound2必须播放。
但正如我所说,我试图使用if语句,当我点击按钮时,根本没有声音播放。
答案 0 :(得分:1)
是的,正如@Akshay Bhat'AB'所说,你必须这样做:
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) https://www.domainname.com%{REQUEST_URI} [L,R=301]
参考这篇文章:how to get text from textview
注释中有一个错误,即 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();
}
而不是toString()
答案 1 :(得分:1)
您需要 check the text in the TextView 而不是TextView本身的引用。
placeholder.getText().toString().equals("BMW M4")