Java 我的项目的setOnClickListener(new View.OnClickListener()不工作
我正在开发一个小的测试项目,我编写了以下代码。 我已经在xml文件中创建了一个id为“registerBtn”的按钮 我删除了此源代码的导入,以缩短此源代码的空间 在java文件中,我创建了一个名为mRegisterBtn的变量,类型为Button。 在名为onCreate(Bundle savedInstanceState)的方法中,mRegisterBtn接收名为findviewbyd(R.id.registerBtn)的方法 但是,在mRegisterBtn.setOnClickListener中,new View.OnClickListener的部分显示为灰色,并且在尝试测试此代码时它不起作用 此图显示了我的真正意思。请注意,new View.OnClickListener的部分显示为灰色。这意味着出现错误。但尝试编译时,此代码运行,但按钮根本不起作用 有人知道如何修复这个错误吗Java 我的项目的setOnClickListener(new View.OnClickListener()不工作,java,android,Java,Android,我正在开发一个小的测试项目,我编写了以下代码。 我已经在xml文件中创建了一个id为“registerBtn”的按钮 我删除了此源代码的导入,以缩短此源代码的空间 在java文件中,我创建了一个名为mRegisterBtn的变量,类型为Button。 在名为onCreate(Bundle savedInstanceState)的方法中,mRegisterBtn接收名为findviewbyd(R.id.registerBtn)的方法 但是,在mRegisterBtn.setOnClickListe
尝试将活动本身用作上下文 如果你想要一根圆木,那就做一根 如果你想让灰色消失,就用lambda
Log.d("REGISTER", "Setting listener");
mRegisterBtn.setOnClickListener(view -> {
Log.d("REGISTER", "Clicked!");
Toast.makeText(Register2.this, "Testing", Toast.LENGTH_LONG).show();
});
您是否尝试过设置断点,因为某些智能手机上无法显示
Toast
?此外,灰色没有问题,只是说您可以删除该断点并使用它。我使用了您的代码。它没有问题。您看到的错误是什么?请从logcat或run添加xml文件和错误消息。Shawnre没有消息错误。非常感谢,Henry。非常感谢。但它仍然不起作用。请您测试一下?在我这方面工作正常。确保activity\u register2.xml
是您要加载的正确文件
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#007FFF"
tools:context=".Register">
<Button
android:id="@+id/registerBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:backgroundTint="@color/white"
android:text="Register"
android:textColor="@color/black"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.499" />
</androidx.constraintlayout.widget.ConstraintLayout>
Log.d("REGISTER", "Setting listener");
mRegisterBtn.setOnClickListener(view -> {
Log.d("REGISTER", "Clicked!");
Toast.makeText(Register2.this, "Testing", Toast.LENGTH_LONG).show();
});