gpt4 book ai didi

java - 如何将 OnClickListener 从 Activity 传递到 Fragment

转载 作者:行者123 更新时间:2023-12-02 11:00:44 24 4
gpt4 key购买 nike

我需要将 OnClickListener 对象从 Activity 传递到 Fragment。我无法将参数传递给 Fragment 构造函数,所以我想做类似的事情:

Bundle bundle = new Bundle();
bundle.putCustomObject(new OnClickListener(){...});

最佳答案

我认为最好的方法是使用 onClick() 方法创建一个接口(interface),并将回调从 Activity 设置为 fragment

界面

public interface FragmentClickListener
{
void onClick();
}

在Fragment类中创建一个变量和方法来接收FragmentClickListener:

private FragmentClickListener listener;

public void setOnClickListener(FragmentClickListener listener)
{
this.listener = listener;
}

然后在 Fragment 类的某些方法中,您可以像这样调用监听器:

void someMethod()
{
if(listener != null) {
listener.onClick();
}
}

在您的 Activity 类中定义回调,如下所示:

fragment.setOnClickListener(new FragmentClickListener(){
@Override
public void onClick() {
//do something here
}
});

关于java - 如何将 OnClickListener 从 Activity 传递到 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51349997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com