Ich versuche verschiedene Sounds durch eine for Schleife in ein Arraylist zu bekommen, das ich nicht für jeden sound aus der raw directoy einen einzelnen Mediaplayer händisch erstellen muss. Dabei werden alle Sounds in eine ArrayList geladen die auch in einem Listview zu sehen seihen sollen. Aber stattdessen werden nicht die drei verschiedenen Sounds geladen sonder drei mal dasselbe.
Sum Besseren Verständnis: Es gibt eine raw Datei mit x1.mp3; x2.mp3; x3.mp3
diese sollen in die App geladen werden und ausgegeben werden in einem ListView.
Aber es wird nur 3mal "x2" als jede Datei ein mal.
So sollte es sein:
x1
x2
x3
So ist es
x2
x2
x2
MainActivity.java:
Java
package com.example.kaengurnbutton;
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.lang.reflect.Field;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
ListView kListView;
ArrayList<String> arrayList;
ArrayAdapter<String> kAdapter;
MediaPlayer kPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
kListView= findViewById(R.id.kListView);
arrayList = new ArrayList<String>();
Field[] fields = R.raw.class.getFields();
for (int i = 0 ; i < fields.length ; i++) {
arrayList.add(fields[1].getName());
}
kAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,arrayList);
kListView.setAdapter(kAdapter);
}
}
Alles anzeigen
activity_main.xml:
Java
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="16dp"
android:src="@drawable/ic_baseline_stop_24"
app:backgroundTint="#F44336" />
<ListView
android:id="@+id/kListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
</ListView>
</RelativeLayout>
Alles anzeigen