gpt4 book ai didi

java - Android-如何通过按钮标签获取资源?

转载 作者:行者123 更新时间:2023-12-03 00:23:35 27 4
gpt4 key购买 nike

我的“ Activity ”中有8个按钮,在res/raw目录中有8个小音频。单击一个按钮后,应用程序将播放与该特定按钮关联的音频。我将每个音频命名为与关联按钮的标签相同/相似。我希望 Activity 中只有一种方法可以解决所有情况。
这是我到目前为止所拥有的:

public class MainActivity extends AppCompatActivity {

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

public void playPhrase(View view){

if(view.getTag().toString().equals("doYouSpeak")){
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.doyouspeakenglish);
mediaPlayer.start();
}
else if(view.getTag().toString().equals("goodEvening")){
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.goodevening);
mediaPlayer.start();
}

// the other 6 cases

}
}
有没有一种方法可以使用关联的按钮标签(或ID或其他方式)访问音频,而无需整个if / else语句?就像是 :
public void playPhrase(View view){
String tag = view.getTag().toString();
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.tag);
mediaPlayer.start();
}

最佳答案

您可以使用getIdentifier()方法通过字符串名称获取ID。

String tag = view.getTag().toString();    
Int id = getResources().getIdentifier(tag, "raw", getPackageName());
MediaPlayer mediaPlayer = MediaPlayer.create(this, id);
mediaPlayer.start();

关于java - Android-如何通过按钮标签获取资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63484191/

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