我有一个自定义列表适配器,它在片段中膨胀,并且该片段嵌入在一个活动中,我想实现一个接口来处理来自活动类的该适配器上的图像的点击..但是我得到了null指针异常..这是我的代码:
这是我的自定义适配器类的一部分:
public ActionSelection mCallBack;
public interface ActionSelection {
public void onActionSelected(int position);
}
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
LayoutInflater inflater = (LayoutInflater) getContext().
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.main_list_item, null);
// Obtain current mainListItem using position
MainListItem item = mainListItems.get(position);
// Set the custom view
if (item != null) {
((SmartImageView) view.findViewById(R.id.imageview_mainlist_profile_picture)).
setImageUrl(item.getProfile_picture());
((TextView) view.findViewById(R.id.textview_mainlist_fullname)).
setText(item.getFullname());
((TextView) view.findViewById(R.id.textview_mainlist_username)).
setText(item.getUsername());
((ImageView) view.findViewById(R.id.imageview_mainlist_action)).
setImageResource(item.getAction());
ImageView action = (ImageView) (view.findViewById(R.id.imageview_mainlist_action));
action.setId(position);
action.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCallBack.onActionSelected(5);
}
});
}
在我的MainActivity上,我使用以下代码实现了界面:
@Override
public void onActionSelected(int position) {
Log.v("test", String.valueOf(position));
}
答案 0 :(得分:0)
您永远不会将mCallBack
变量设置为任何内容。例如,您可以在适配器的构造函数中传递它。