2016-10-04 3 views
0

My AppにはListViewのDetailViewがあります。内部の詳細view私は記録することができます、SDカードに格納し、オーディオファイル(outputFile)を再生する、問題は常に最新のオーディオは、listViewでクリックした項目に関係なく記録されます。記録されたoutputFileを選択したアイテムに関連付けるにはどうすればいいですか?私はこれが理にかなってほしい。前もって感謝します。クリックしたリストビューアイテムに基づいてオーディオを再生

play.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) throws IllegalArgumentException,SecurityException,IllegalStateException { 
      MediaPlayer m = new MediaPlayer(); 

      try { 
       m.setDataSource(outputFile); //AUDIO DATA SOURCE outputFile 
      } 

      catch (IOException e) { 
       e.printStackTrace(); 
      } 

      try { 
       m.prepare(); 
      } 

      catch (IOException e) { 
       e.printStackTrace(); 
      } 

      m.start(); 
      Toast.makeText(getActivity().getBaseContext(), "Playing audio", Toast.LENGTH_LONG).show(); 
     } 
+0

問題はアダプターにあり、アダプターに入力されたデータです。 – suku

答えて

0

私はあなたが完全に何を望んでいるのかわかりませんが、以下はあなたの質問にお答えします。

ハッシュマップを使用して、ボタンに割り当てられたオーディオを保存できます。

private HashMap<String, String> hm; 

public MyAdapter(){ 
    hm = new HashMap<>(); 
} 

あなたが記録した音声を保存した後、0、1,2、...レコーディングにカウンターを割り当ててから、次の

hm.put("Position" & counter, outputFilePath); 

をごplay.OnClickListenerが使用中の保存次のようにデータソース

m.setDataSource(hm.get("Position" & itemPosition)); 
関連する問題