Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用一些声音文件启动intent_Java_Android - Fatal编程技术网

Java 用一些声音文件启动intent

Java 用一些声音文件启动intent,java,android,Java,Android,我正在制作一个包含60多个按钮的Android应用程序。每个按钮都响应一个活动。每个活动都包含一个源于原始文件、文本视图和图像的声音文件。是否有任何方法可以为每个按钮使用意图参数 例如: Intent myIntent = new Intent(this, NewActivityClassName.class); myIntent.putExtra("soundfile", "FirstKeyValue"); myIntent.putExtra("image", "SecondKeyValue"

我正在制作一个包含60多个按钮的Android应用程序。每个按钮都响应一个活动。每个活动都包含一个源于原始文件、文本视图和图像的声音文件。是否有任何方法可以为每个按钮使用意图参数

例如:

Intent myIntent = new Intent(this, NewActivityClassName.class);
myIntent.putExtra("soundfile", "FirstKeyValue");
myIntent.putExtra("image", "SecondKeyValue");
myIntent.putExtra("text", "ThirdKeyValue");
startActivity(myIntent);

单一布局中的60按钮不是一种好的设计模式,您必须使用网格或列表视图

使用列表视图

使用网格视图

就目前的问题而言 您可以创建一个通用函数,如下所示

public boolean startActivityFoo(String value1,String value2,String value3)
{
Intent myIntent = new Intent(this, NewActivityClassName.class);
myIntent.putExtra("soundfile",value1);
myIntent.putExtra("image",value2);
myIntent.putExtra("text",value3);
startActivity(myIntent);
}

//假设方法

 public void sendMysong(String songname,String imgUrl,String text)
    {
    Intent myIntent = new Intent(this, NewActivityClassName.class);
    myIntent.putExtra("soundfile",songname);
    myIntent.putExtra("image",imgUrl);
    myIntent.putExtra("text",text);
    }
//现在在接收活动中接收意图数据

      Bundle extras = getIntent().getExtras();
            if (extras != null) {

             String fname=extras.get("soundfile");

        int resID=getResources().getIdentifier(fname, "raw", getApplicationContext().getPackageName());

             MediaPlayer mediaPlayer=MediaPlayer.create(this,resID);
            mediaPlayer.start();

            }

60个按钮听起来不是一个好的设计。为什么要使用ListView?你能给出一个关于这个的链接吗?当然,请检查ListView