Я создаю медиа плеер. Я беру файлы из предложеного пути потом беру их название и кидаю их массив, а потом я массив передаются в адаптер и через адаптер воспроизвожу музыку, но вот проблема в том то что она у меня не воспроизводиться. Вот мое активити:
public class MainActivity extends Activity {
int position;
RecyclerView spisok;
File[] files;
public static MainActivity Context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
spisok = (RecyclerView) findViewById(R.id.spisok);
File file = new File(Environment.getExternalStorageDirectory() + "/VCCoffee/audio/");
files = file.listFiles();
ArrayList<String> names = new ArrayList<>();
for (File f : files) {
String name = f.getName();
if (name.endsWith(".covers")) {
} else
names.add(name);
}
RecyclerAdapter adapter = new RecyclerAdapter(files, names, this, R.layout.item);
spisok.setLayoutManager(new LinearLayoutManager(this));
spisok.setAdapter(adapter);
}
void getmusic() {
File currentFile = files[position];
String path = currentFile.getPath();
MediaPlayer player = new MediaPlayer();
try {
player.setDataSource(this, Uri.parse(path));
} catch (IllegalArgumentException e) {
} catch (IOException e) {
} catch (SecurityException e) {
} catch (IllegalStateException e) {
}
player.start();
}
}
Вот мой адаптер:
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.AdapterHolder> {
File[] files;
int index;
int position;
ArrayList<String> names = new ArrayList<>();
Context context;
MainActivity activity = (MainActivity.Context);
int layout;
public class AdapterHolder extends RecyclerView.ViewHolder implements OnClickListener {
@Override
public void onClick(View p1) {
// TODO: Implement this method
activity.getmusic();
}
TextView tv;
AdapterHolder(View item) {
super(item);
tv = (TextView) item.findViewById(R.id.tv);
item.setOnClickListener(this);
}
}
RecyclerAdapter(File[] files, ArrayList<String> names, Context context, int layout) {
this.files = files;
this.names = names;
this.context = context;
this.activity = (MainActivity) context;
this.layout = layout;
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
@Override
public AdapterHolder onCreateViewHolder(ViewGroup viewGroup, int p2) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(layout, viewGroup, false);
AdapterHolder pvh = new AdapterHolder(v);
return pvh;
}
@Override
public void onBindViewHolder(AdapterHolder holder, final int position) {
holder.tv.setText(names.get(position));
}
@Override
public int getItemCount() {
return names.size();
}
String getText(int position) {
return names.get(position);
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
нелегкая заставила меня связаться с excel таблицамисобсно вопрос
Пытаюсь прочитать текст из TXT файлаВот код, который производит чтение:
Как изменить (или как называется) синюю часть у Seekbar'a указанного на рисунке слева от круга?