私はテキストと再生一時停止ボタン付きのカスタムリストビューを持っています。再生ボタンをクリックしたときに再生ボタンが見えなくなるようにしようとしています。しかし、私はonClickでそれを行うとき、間違った位置のボタンはlistviewで消えています。好き。ボタン:A - B - C - D - E、CをクリックするとEが見えなくなります。私はどのように処理するか分からない、助けてください。setVisibilityはカスタムの間違ったボタンを調整しますListview
public class MyListAdapter extends ArrayAdapter<String> {
private String[] gelenurl;
List<String> gelen_ad;
MediaPlayer mPlayer= new MediaPlayer();
private int[] IMAGE_ID = {R.drawable.police};
private int layout;
public MyListAdapter(Context context, int resource, List<String> objects, String[] arr) {
super(context, resource, objects);
layout=resource;
gelenurl=arr;
gelen_ad=objects;
}
ViewHolder viewHolder = new ViewHolder();
@NonNull
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder mainViewholder = null;
convertView=null;
if(convertView==null) {
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView=inflater.inflate(layout, parent, false);
viewHolder.img = (ImageView) convertView.findViewById(R.id.list_item_thumbnail);
viewHolder.img.setImageResource(IMAGE_ID[0]);
viewHolder.title = (TextView) convertView.findViewById(R.id.list_item_text);
viewHolder.title.setText(getItem(position));
viewHolder.button = (Button) convertView.findViewById(R.id.list_item_btn);
viewHolder.stop_button = (Button) convertView.findViewById(R.id.list_item_stop_btn);
convertView.setTag(viewHolder);
}
else {
mainViewholder = (ViewHolder) convertView.getTag();
mainViewholder.title.setText(getItem(position));
}
viewHolder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
viewHolder.button.setVisibility(View.INVISIBLE);
radioLinks(gelenurl[position]);
} catch (IOException e) {
e.printStackTrace();
}
}
public void radioLinks(String city) throws IOException {
if(mPlayer.isPlaying()) {
mPlayer.stop();
mPlayer.reset();
}
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setDataSource(city);
mPlayer.prepareAsync();
mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mPlayer.start();
}
});
}
});
viewHolder.stop_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mPlayer.stop();
mPlayer.reset();
}
});
return convertView;
}
}
おかげで、私は、私は自分のコードに基づいて勧告を適用するのに十分な知識をAndroid上で新しいものではない持っています。サンプルコードで何をすべきか説明してください。 – PinkRabbits
@PinkRabbits私は良い例をオンラインで探し、ここに投稿します。それは助けになるはずです。 – Cheticamp
@PinkRabbits更新された回答を参照してください。私はこれが役立つことを願っています – Cheticamp