2 回答

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個贊
在片段中添加一個方法:
public void setOnClickListener(OnClickListener listener) { mListener = listener;}
調(diào)用Fragment的方法:
mFragment.setOnClickListener(new OnClickListener() { /* YOUR CODE HERE */ });

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個贊
我認(rèn)為最好的方法是創(chuàng)建一個interfacewith方法onClick(),并將回調(diào)設(shè)置為從Activity到Fragment。
界面
public interface FragmentClickListener
{
void onClick();
}
在Fragment類中創(chuàng)建一個變量和方法以接收FragmentClickListener:
private FragmentClickListener listener;
public void setOnClickListener(FragmentClickListener listener)
{
this.listener = listener;
}
然后,在您的Fragment類的某些方法中,您可以像這樣調(diào)用偵聽器:
void someMethod()
{
if(listener != null) {
listener.onClick();
}
}
在您的Activity類中,如下定義回調(diào):
fragment.setOnClickListener(new FragmentClickListener(){
@Override
public void onClick() {
//do something here
}
});
添加回答
舉報