use*_*280 26 android android-listview android-adapter
我有ListView自己的适配器的自定义.我正在处理Button我 ListView的项目中的点击,我希望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;
}
}
Run Code Online (Sandbox Code Playgroud)
Vla*_*mir 65
ViewGroup parent保留对View返回者的父级的引用getView(),在您的情况下是您的自定义列表视图.
@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;
}
Run Code Online (Sandbox Code Playgroud)
您可以通过适配器的构造函数传递Listview的引用,并将其存储在本地Listview变量中,而不是这样.您可以使用它来访问Listviews方法.就像这样
public ViewPackagesAdapter(Activity mActivity, ListView cmgListView) {
this.mActivity = mActivity;
this.mListView=cmgListView;
}
Run Code Online (Sandbox Code Playgroud)
现在通过mListView访问Activity的Listview ..
| 归档时间: |
|
| 查看次数: |
29981 次 |
| 最近记录: |