gpt4 book ai didi

android - 如何从适配器访问 ListView

转载 作者:IT老高 更新时间:2023-10-28 22:04:45 27 4
gpt4 key购买 nike

我有一个带有我自己的适配器的自定义 ListView。我正在处理对 ListView 项目中的 Button 的点击,并且我希望 ListView 在这次点击中变得不可见。

我不知道如何从适配器访问 ListView

public class ScheduleArrayAdapter extends ArrayAdapter<ScheduleListItem> {

/*...*/
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(id, null);
}
final ScheduleListItem o = items.get(position);
if (o != null) {

/*...*/

Button details=(Button)v.findViewById(R.id.btn_details);
details.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//HOW TO MAKE (R.id.lv_schedule) TO BECOME INVISIBLE HERE?
}
});
}
return v;
}
}

最佳答案

ViewGroup parent 包含对 getView() 返回的 View 父级的引用,在您的情况下,它是您的自定义 ListView 。

@Override
public View getView(int position, View convertView, final ViewGroup parent) {
...
details.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
parent.setVisibility(View.INVISIBLE); // or View.GONE
}
});
...
return v;
}

关于android - 如何从适配器访问 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10910638/

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