访问片段内适配器的项目视图

时间:2015-12-21 18:42:44

标签: android android-fragments android-listview android-adapter

假设我的片段由listview组成,每个项目都包含ImageView和TextView.My片段底部有一个按钮,我想要更改适配器中每个列表项的ImagView图像。我的imageview是在适配器中按钮是片段。如何在片段内访问项目的适配器视图?

2 个答案:

答案 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);
        }
    });

所以在查看后点击你会得到片段回调。希望它有帮助