java - 我如何将声音从原始 View 带到 ListView 并更改它们的名称?

标签 java android listview audio text

我必须从原始数据中获取声音并在listview中显示它们,我可以做到这一点,但名称与原始数据中的文件夹名称相同。

如何用我想要的名称更改它们?(还将播放的歌曲写入 TextView )

Here is my code :

 MediaPlayer mp;
    Uri uri;

    ListView listView;
    TextView textBilgi;

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

Field[] fields = R.raw.class.getFields();
        String[] mediaList = new String[fields.length];
        for (int count = 0; count < fields.length; count++)
            mediaList[count] = fields[count].getName();



        textBilgi = (TextView) findViewById(R.id.textBilgi1);
        listView = (ListView) findViewById(R.id.listview);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                giris.this, android.R.layout.simple_list_item_1,
                mediaList);
        listView.setAdapter(adapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {


                String uri = "android.resource://" + getPackageName() + "/raw/"
                        + ((TextView) view).getText();



                if (mp != null && mp.isPlaying())
                    mp.stop();

                mp = MediaPlayer.create(getApplicationContext(), Uri.parse(uri));
                mp.start();

                textBilgi.setText(((TextView) view).getText() + " ["
                        + mp.getDuration() / 1000 + " sn.]");





            }
        });

    }

最佳答案

your_array_list中添加您最喜欢的文件名,然后添加适配器,然后在您的URI文件中添加medialist,然后检查您的问题是否已解决。

public class MediaPlay extends BaseActivity {

    MediaPlayer mp;
    Uri uri;

    ListView listView;
    TextView textBilgi;

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

        Field[] fields = R.raw.class.getFields();
        final String[] mediaList = new String[fields.length];
        for (int count = 0; count < fields.length; count++)
            mediaList[count] = fields[count].getName();


        textBilgi = (TextView) findViewById(R.id.textBilgi1);
        listView = (ListView) findViewById(R.id.listview);

        List<String> your_array_list = new ArrayList<String>();
        your_array_list.add("Test One");
        your_array_list.add("Test Two");
        your_array_list.add("Test Three");


        ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                MediaPlay.this, android.R.layout.simple_list_item_1,
                your_array_list);
        listView.setAdapter(adapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {


                String uri = "android.resource://" + getPackageName() + "/raw/" + mediaList[position];


                if (mp != null && mp.isPlaying())
                    mp.stop();

                mp = MediaPlayer.create(getApplicationContext(), Uri.parse(uri));
                mp.start();

                textBilgi.setText(((TextView) view).getText() + " ["
                        + mp.getDuration() / 1000 + " sn.]");


            }
        });

    }
}

关于java - 我如何将声音从原始 View 带到 ListView 并更改它们的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50086602/

相关文章:

java - getCheckedItemPositions() 总是返回 null (Android ListView)

android - 禁用 Action 列表的滚动效果

android - 如何获取Android权限的图标?

sqlite - 如何在 Titanium 中使用 SQLite 加载 ListView?

java - 为什么 getViewTypeCount() 返回不同的值?

java - 如何在 ListView 列表项中添加节标题

JAVA多次读取属性文件进行属性更改

java - 微软图形 : Requesting an Extension returns http 400 bad request

java - GPS 定位仅在应用程序首次打开时有效

android:将外部 JAR 文件添加到 android