我有一个带有简单文本和按钮的自定义列表视图,此按钮打开一个对话框,允许用户删除或保存文件,但是当我按下此按钮执行删除动画时,我想获得该行的视图。如何在按钮单击侦听器中获取此特定行的视图?我使用带有基本适配器的自定义阵列适配器!
extends BaseAdapter implements View.OnClickListener{
提前谢谢,我不知道是否有必要把代码放在这里,太长了。
我有一个带有简单文本和按钮的自定义列表视图,此按钮打开一个对话框,允许用户删除或保存文件,但是当我按下此按钮执行删除动画时,我想获得该行的视图。如何在按钮单击侦听器中获取此特定行的视图?我使用带有基本适配器的自定义阵列适配器!
extends BaseAdapter implements View.OnClickListener{
提前谢谢,我不知道是否有必要把代码放在这里,太长了。
您应该为您的列表视图使用自定义适配器并将标签添加到您的按钮,代表您的行的位置,然后在您的 clicklistener 中,您应该获取标签并找出已单击的行。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Button yourbtn= (Button) v.findViewById(R.id.yourbtnid);
yourbtn.setTag(position);
yourbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Button btn = (Button)arg0;
int position = Integer.parseInt(btn .getTag().toString());
}
}
您需要ListView
使用ListView.setOnItemSelectedListener()
. OnItemSelectedListener
返回视图。
如果您在适配器代码本身内实现单击操作(我认为这不是最好的方法),您可以getParentView()
根据需要多次调用来获取整个条带的实例,具体取决于您的深度按钮的父布局。