0
- このアプリはRecyclerView の画像を表示します - すべての項目に対して1つしか再生されず、終了するとスキップします次の音 - 私は私のアダプターのコードがAndroid 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
@パベル:問題解決済みですか? –