假设我的片段由listview组成,每个项目都包含ImageView和TextView.My片段底部有一个按钮,我想要更改适配器中每个列表项的ImagView图像。我的imageview是在适配器中按钮是片段。如何在片段内访问项目的适配器视图?
答案 0 :(得分:0)
目前尚不清楚,但试试这个: 首先在创建适配器时传递图像ID:
mAdapter = new ConnectAdapter(mUserList,R.drawable.test);
<强> ConnectAdapter 强>
private image;
ConnectAdapter(List<> mUserList,int imageID){
this.image = imageID;
}
public setImageID(int imageID){
this.image = imageID;
}
if (convertView == null) {
.
.
.
viewHolder.typeimage.setImageResource(image);
}
<强>片段强>
mAdapter = new ConnectAdapter(mUserList);
mListView.setAdapter(mAdapter);
followButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mAdapter.setImageID(YOURIMAGEID);
mAdapter.notifyDatasetCHanged();
}
}
});
答案 1 :(得分:0)
您可以通过界面访问片段内的适配器视图,如下所示:
在ConnectAdapter中声明一个接口,如下所示:
public interface ViewClickListener {
void onViewClick(View view);
}
在ViewClickListener的适配器中写为实例变量,如下所示:
private ViewClickListener listener;
在你的片段实例化如下:
mAdapter = new ConnectAdapter(mUserList,new ConnectAdapter.ViewClickListener() {
@Override
public void onViewClick(View view) {
// do what you want with view
}
});
在适配器的getView()方法中,在视图上编写onclick监听器,如下所示:
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onViewClick(convertView);
}
});
所以在查看后点击你会得到片段回调。希望它有帮助