我的 onclicklistener 是灰色的,它没有带我到定义的目标
My onclicklistener is grayed out and it's not taking me to defined target
我的 onclicklistener 变灰了,它没有将我带到定义的目标。我该如何解决?
您可以忽略变灰 - 这是 Studio 告诉您这段代码是不必要的,可以用更短的代码替换的方式。
如果将鼠标光标悬停在灰色区域,您会看到 Studio 建议您改用 Lambda。
Lambdas只是一种shorthand的写法方式。例如,onClickListener 的 Lambda 版本转换为此代码。
您可以选择使用 lambda 建议或将代码保留为-is - 无论哪种方式,代码都会 运行.
最近新的部分View.OnClickListener()会被标记为灰色因为编译器建议使用 shorthand 方法来简化您的代码,这称为 lambda.
所以不是这个 View.OnClickListener(),
你现在将有 v->{} 其中 v 是 view (你可以更改后者 v 到您选择的任何后者)。
快速解决这个问题;
点击灰色部分,然后选择 alt + Enter 以获得建议。
此外,
设置onClickListener有两种方式;
- 在您的 activity.
中实现 onClickListener
- 直接从您的按钮调用 onClickListener。
为第一个;
您的 activity 应该实现 onClickListener;
然后在 activity 的 onCreate 方法中,引用按钮并将其设置为按钮 onClick 的上下文;
yourButton1.setOnClickListener(this);
yourButton2.setOnClickListener(this);
yourButton3.setOnClickListener(this);
按钮可以多个
--> 在您生成的 onClick 方法中,您现在可以使用 switch 语句来检查单击了哪个按钮;
第二个
为此,请确保通过导入您在 xml 布局中使用的相应按钮来正确引用您的按钮。
导入android.widget.Button
使用 R.id.buttonName
在 activity 中引用来自 xml 的按钮
按钮 yourButton = findViewById(R.id.yourButtonId);
现在直接给按钮设置onClickListener;
//without lambda
yourButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Do whatever you want
}
});
//with lambda
yourButton.setOnClickListener(v->{
//Do whatever here
});
我的 onclicklistener 变灰了,它没有将我带到定义的目标。我该如何解决?
您可以忽略变灰 - 这是 Studio 告诉您这段代码是不必要的,可以用更短的代码替换的方式。
如果将鼠标光标悬停在灰色区域,您会看到 Studio 建议您改用 Lambda。
Lambdas只是一种shorthand的写法方式。例如,onClickListener 的 Lambda 版本转换为此代码。
您可以选择使用 lambda 建议或将代码保留为-is - 无论哪种方式,代码都会 运行.
最近新的部分View.OnClickListener()会被标记为灰色因为编译器建议使用 shorthand 方法来简化您的代码,这称为 lambda.
所以不是这个 View.OnClickListener(), 你现在将有 v->{} 其中 v 是 view (你可以更改后者 v 到您选择的任何后者)。
快速解决这个问题; 点击灰色部分,然后选择 alt + Enter 以获得建议。
此外,
设置onClickListener有两种方式;
- 在您的 activity. 中实现 onClickListener
- 直接从您的按钮调用 onClickListener。
为第一个;
您的 activity 应该实现 onClickListener; 然后在 activity 的 onCreate 方法中,引用按钮并将其设置为按钮 onClick 的上下文;
yourButton1.setOnClickListener(this);
yourButton2.setOnClickListener(this);
yourButton3.setOnClickListener(this);
按钮可以多个
--> 在您生成的 onClick 方法中,您现在可以使用 switch 语句来检查单击了哪个按钮;
第二个 为此,请确保通过导入您在 xml 布局中使用的相应按钮来正确引用您的按钮。
导入android.widget.Button
使用 R.id.buttonName
在 activity 中引用来自 xml 的按钮按钮 yourButton = findViewById(R.id.yourButtonId);
现在直接给按钮设置onClickListener;
//without lambda
yourButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Do whatever you want
}
});
//with lambda
yourButton.setOnClickListener(v->{
//Do whatever here
});