在片段中访问项目的适配器视图
问题描述:
假设我的片段由listview组成并且每个项目由ImageView和TextView组成。每个片段在底部都有一个按钮,点击该按钮后我想更改适配器中每个列表项目的ImagView的图像。我的imageview是在适配器和按钮是在fragment.How我访问项目的适配器里面片段的视图?在片段中访问项目的适配器视图
答
还不清楚,但试试这个: 第一遍图片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();
}
}
});
答
你可以在里面片段访问视图适配器与界面如下:
在你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);
}
});
打完视图中单击您将得到回调fragment.Hope它有助于
从ListView和访问元素的位置获得位置 – Mohit
@Mohit我想访问该位置(或所有位置)元素的特定视图。 –
@Mohit按钮不是列表视图的一部分 –