gpt4 book ai didi

java - 如何将内部函数变成自己的函数?

转载 作者:行者123 更新时间:2023-12-01 16:52:55 26 4
gpt4 key购买 nike

我不知道这些叫什么,但我想改变这样的东西:

    fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});

代码没有像这样“嵌套”在参数中。换句话说,我的想法是:

fab.setOnClickListener(something goes here);

//...and then within its own method somewhere,

public void onClickMethodForOnClickListenerOrSomething(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}

我不知道我是否清楚地表达了自己的意思,但我基本上想将监听器作为参数去掉,并将其放入一个单独的函数中。我发现它使事情变得更清晰,因为有这么多监听器,我的 OnCreate 方法中积累了很多代码。

最佳答案

由于您需要重写 onClick 方法,因此您无法重命名它,但您可以执行以下操作:

public void onClickMethodForOnClickListenerOrSomething(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}

public void yourOtherMethod() {
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onClickMethodForOnClickListenerOrSomething(view);
}
});
}

关于java - 如何将内部函数变成自己的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36482480/

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