gpt4 book ai didi

android - 按下按钮元素 ListView

转载 作者:行者123 更新时间:2023-11-29 15:14:03 25 4
gpt4 key购买 nike

我有一张带有按钮的表格。我将事件处理程序分配给工作表的元素。当你得到他的位置。但我需要将事件分配给工作表此元素中的按钮。我在适配器中执行此操作并按下。但是我如何确定按下了工作表的哪个元素?

class RecordAdapter extends BaseAdapter implements View.OnClickListener {
MediaPlayer mediaPlayer;
private LayoutInflater inflater;
ArrayList<RecordBean> recordBeans;
Context ctx;

public RecordAdapter(final Context ctx, ArrayList<RecordBean> recordBeans) {
this.recordBeans =recordBeans;
this.ctx=ctx;
inflater = LayoutInflater.from(ctx);
}

@Override
public int getCount() {
return recordBeans.size();
}

@Override
public Object getItem(int position) {
return position;
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View view = convertView;
final ViewHolder holder;
if (convertView == null) {
view = inflater.inflate(R.layout.recorditem, parent, false);
holder = new ViewHolder();
holder.date = (TextView) view.findViewById(R.id.recordate);
holder.from = (TextView) view.findViewById(R.id.recordFrom);
holder.to = (TextView) view.findViewById(R.id.recordTo);
holder.seekBar = (SeekBar) view.findViewById(R.id.seekBar);
holder.start = (Button) view.findViewById(R.id.btnStart);
holder.stop = (Button) view.findViewById(R.id.btnStop);

view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
holder.date.setText(" " + recordBeans.get(position).getDate());
holder.from.setText(" " + recordBeans.get(position).getFrom());
holder.to.setText(" " + recordBeans.get(position).getTo());
holder.start.setOnClickListener(this);
holder.stop.setOnClickListener(this);
return view;
}

@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btnStart:
mediaPlayer = MediaPlayer.create(ctx,Uri.parse(recordBeans.get(3).getFile()));
mediaPlayer.start();
break;
}
}

private static class ViewHolder {
TextView date;
TextView from;
TextView to;
SeekBar seekBar;
Button start;
Button stop;
}
}
}

而不是 recordBeans.get(3).getFile() 我想写 recordBeans.get(itemPosition).getFile()

现在我对所有按钮都有相同的设置

最佳答案

你可以在你的 getView(...) 方法本身中做到这一点

     holder.start.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

mediaPlayer = MediaPlayer.create(ctx,Uri.parse(recordBeans.get(position).getFile()));
mediaPlayer.start();

}
});

对于 stop 也是如此。

     holder.stop.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

mediaPlayer.stop();

}
});

关于android - 按下按钮元素 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26483348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com