2016-06-24 9 views
0

チャットアプリでは、複数のオーディオが作成されています。リサイクラービューの子にアクセスする方法は?

1)1つの音声を再生しているように見える(再生ボタンが一時停止に変わる)2番目の音声を再生している間に(最初の音声の場合は一時停止ボタンが再生と再生に変わるはずです。

2番目のオーディオ再生ボタンを押したときに最初の表示ボタンにアクセスする方法。

ありがとうございます!

ChatActivity.java

ChatAdapter.java

+0

setPlayingView(int position)のように、再生中のビューのインジケーターを置く必要があります。新しい再生を設定する前に再生を変更すると、現在の再生を取得して新しいものを取得しますnotifyDataSetChanged() – tamtom

+0

オーディオを再生しているときにImを持っていることを確認してください。今すぐ次のオーディオが再生されます。アダプターから古いビューにアクセスするには? – DwlRathod

+0

ここにあなたのシナリオの例があります 現在の再生のセッターとゲッターを作成できるようにします 再生をクリックすると最初のアイテムを再生できるようにしますゲッターにアイテムがある場合はチェックしますその位置を変更してnotifydataを呼び出して変更を設定し、新しい位置を設定してそれを変更し、メソッドを再度呼び出します。 – tamtom

答えて

0

私はちょうど私自身の答えを得ました。私は将来の参照のために投稿しています。最後imageView一つの変数でivLastClickedとして、その後、新しいボタンが再びその変化の背景の前にivLastClickedにそれを割り当て、ivLastClicked変数にクリック保存]をクリックしたときの保存

1

あなたのリストは変更しない場合は、RecyclerViewためCustomClickListenerを使用してアクセスすることができます。

現在の再生位置を保持する変数を作成します。次に、実装されたCustomItemClickListenerで、再生された曲があるかどうかを確認します。存在する場合は、一時停止に変更します。単に曲を演奏しない場合。ここでは、スニペット:

private int mPlayedSongItemId = 0; // no played song 
private Adapter mAdapter; 
... 
... 
mAdapter = new YourAdapter(getActivity(), data, new CustomItemClickListener() { 
    @Override 
    public void onItemClick(View v, int position) { 
    if(mPlayedSongItemId != 0) { 
    // change old play button to play 
    // change current play button to pause   
    } 
    } 
    }); 

そのコードはもちろん実行されません。あなたはあなたのニーズにそれを適応させるべきです。 CustomClickListenerインターフェイスでの位置ViewHolderを変更してみてください。

関連する問題