android - 如何在单击 ListView 项时播放声音?

标签 android

我是 Java 和 Android 开发的新手,似乎找不到我想要的东西。我设置了一个基本列表,每个列表项都有不同的标题、描述和图标。我想要的是当单击列表项时播放声音,每个列表项的声音都不同。

到目前为止,这是我的代码:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.SimpleAdapter;

public class TestingList extends ListActivity {

    private static final String ICON_KEY = "icon";
    private static final String TITLE_KEY = "title";
    private static final String DETAIL_KEY = "detail";

    private static final int[] ICONS = new int[] { R.drawable.lista,
                    R.drawable.listb, R.drawable.listc, R.drawable.listd };
    private static final String[] TITLES = new String[] { "List 1", "List 2",
                    "List 3", "List 4" };
    private static final String[] DETAILS = new String[] {
                    "List 1 description",
                    "List 2 description",
                    "List 3 description",
                    "List 4 description" };

    @Override
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            List<Map<String, Object>> rows = new ArrayList<Map<String, Object>>();
            for (int i = 0; i < ICONS.length; i++) {
                    rows.add(createListItemMap(ICONS[i], TITLES[i],
                                    DETAILS[i]));
            }

            String[] fromKeys = new String[] { ICON_KEY, TITLE_KEY, DETAIL_KEY };
            int[] toIds = new int[] { R.id.icon, R.id.text1, R.id.text2 };
            setListAdapter(new SimpleAdapter(this, rows,
                            R.layout.icon_detail_list_item, fromKeys, toIds));
    }

    public static Map<String, Object> createListItemMap(int icon,
                    CharSequence title, CharSequence detail) {
            Map<String, Object> row = new HashMap<String, Object>();
            row.put(ICON_KEY, icon);
            row.put(TITLE_KEY, title);
            row.put(DETAIL_KEY, detail);
            return row;
    }

    public static void showView(Context c) {
          c.startActivity(new Intent(c, TestingList.class));
    }
}

非常感谢帮助,谢谢。

最佳答案

Android 文档描述了多种播放方式audio .

关于android - 如何在单击 ListView 项时播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4717492/

相关文章:

android - 安装 android Studio 时如何解决这个名称有空格的问题。?

android - 有没有办法只组装一种风格的 androidTest 版本?

android - 多应用android :name in Android Manifest

android - 扩展文件是否将所有文件存储到手机的 res/drawable 文件夹中?

java - 带选择的 EditText 缩放

android - 借助支持库 (23.4.0),无法在 Android API 19 中正确加载 Vector Drawable

Android In App Billing 恢复交易

android - 几次尝试后无法看到 Facebook 权限页面

android - 不移动下一个 Activity 从android中的另一个 Activity 发送数据

android - android应用在启动时崩溃