问题:
在活动中设置OnLongClickListener时,如何将OnLongClickListener传递给适配器?
适配器的构造函数:
public Activity mcontext;
public View.OnLongClickListener LongClicking;
public SubjectsAdapter(Activity context, View.OnLongClickListener longClick) {
this.mcontext = context;
this.LongClicking = longClick;
}
在活动中:
adapter = new SubjectsAdapter(this, /*A OnLongClickListener here */ );
我知道这可能是一个密集的问题,我对android来说比较新。
答案 0 :(得分:1)
基本上你可以将它作为匿名类传递
adapter = new SubjectsAdapter(this, new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
//do your stuff
}
} );
但是如何为特定视图注册此回调?我建议为视图注册它,该视图对setOnLongClickListener的回调感兴趣,而不是将其传递给适配器(但这取决于你的应用)。
yourview.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
//do your stuff
}
});