我使用getaddata類的getview方法將數據填充到列表視圖中。它運作良好。我在每個列表中都有一個相對佈局,通過它我可以播放一個audiofile。我在getview方法中使用onclicklistener,如下所示。點擊自定義適配器的列表項子視圖上的點擊者
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.chatbubbles_listrow, null);
context = parent.getContext();
TextView date = (TextView) vi.findViewById(R.id.date);
RelativeLayout playaudio = (RelativeLayout) vi
.findViewById(R.id.audio_image);
HashMap<String, String> events = new HashMap<String, String>();
events = data.get(position);
final String restype = events.get(Conversation.TAG_USERTYPE);
audiopath = events.get(Conversation.TAG_AUDIOPATH);
playaudio.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
stopPlayBack();
Toast.makeText(context, audiopath, Toast.LENGTH_SHORT).show();
Log.e("On Click path", audiopath);
new LoadChats().execute();
}
});
date.setText(restype + audiopath);
return vi;
}
我的列表視圖中顯示的所有信息正確的,因爲我想,但是當我點擊相對佈局則音頻播放是正確的播放,但是當我點擊另一個相對佈局一樣了音頻播放這是錯誤的。每個listitem都有自己的音頻路徑,必須播放,但此處只播放一個以前播放的音頻播放。我知道playaudio的onClicklistner問題,但我沒有得到這個問題。它打擊了我的想法。請幫忙。
預先感謝
你嘗試 的項目,要被點擊?這是一個很常見的問題... –
Aeefire
Log.e(「點擊路徑」,audiopath)總是顯示相同的路徑?或者它取決於點擊的項目? –
Log.e(「點擊路徑」,audiopath); – Charan