0
-이 앱은 RecyclerView 에 그림을 표시합니다. 이제는 모든 항목에 대해 소리가 재생되지만 하나만 나오고 종료하면 활동으로 건너 뜁니다. 다음 사운드 는 - 내 어댑터 코드가그림이있는 Recyclerview 사진
public class MyAdapter extends RecyclerView.Adapter {
private static MediaPlayer mySound;
private ArrayList<Article> mArticles = new ArrayList<>();
public RecyclerView mRecyclerView;
private class MyViewHolder extends RecyclerView.ViewHolder {
public ImageView mTitle;
public MyViewHolder(View pItem) {
super(pItem);
mTitle = (ImageView) pItem.findViewById(R.id.imageView);
}
}
public MyAdapter(ArrayList<Article> pArticles, RecyclerView pRecyclerView) {
mArticles = pArticles;
mRecyclerView = pRecyclerView;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, final int i) {
View view = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.article_layout_allcats, viewGroup, false);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mySound = MediaPlayer.create(v.getContext(), Article.getSounds());
mySound.start();
}
});
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, final int i) {
// uzupełniamy layout artykułu
Article article = mArticles.get(i);
((MyViewHolder) viewHolder).mTitle.setImageResource(article.getTitle());
}
@Override
public int getItemCount() {
return mArticles.size();
}
그리고
public class Article {
private int mTitle;
public static int mSounds;
private static int[] sTitles = {
PAWEL int[] sTitles ={
R.drawable.photo1,
...
R.drawable.photo10
};
public static int[] sSounds = {
R.raw.sound1,
...
R.raw.sound10
};
public Article() {
Random random = new Random();
mTitle = sTitles[random.nextInt(sTitles.length)];
mSounds = sSounds[random.nextInt(sSounds.length)];
}
public int getTitle() {
return mTitle;
}
public static int getSounds() {
return mSounds;
}
}
이 사용자
로 클릭 한 각 사진에 대해 서로 다른 사운드를 재생하려면
답장을 보내 주셔서 감사합니다. 그러나 저에게 도움이되지 못합니다. – Pawel
@Pawel : 문제가 해결 되었습니까? –