尝试单独实施 onClickListener class 但无法解析 findViewById
Trying to implement onClickListener in seperate class but findViewById cannot be resolved
我正在尝试创建一个单独的 class 来为我的按钮和 EditText 实现 onClickListeners,但我一直收到一条错误消息,指出无法解析 findViewById。我已插入以下代码:
package com.example.afa.geobuddy;
import android.view.View;
import android.widget.Button;
public class onClickListener implements View.OnClickListener {
Button cancel_button = (Button) findViewById(R.id.btn_cancel);
@Override
public void onClick(View v) {
}
}
发生这种情况是因为 findViewById 方法是 android.app.Activity class 的成员,即它只能从 Activity 中的匿名 class 可见。
因此,为了在单独的 class 中定义您的 onClickListener,您应该将视图传递给它,如下所示:
public class MyOnClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
}
}
在你的某处 activity:
Button button = (Button) findViewById(R.id.btn_cancel)
button.setOnClickListener(new MyOnClickListener());
我正在尝试创建一个单独的 class 来为我的按钮和 EditText 实现 onClickListeners,但我一直收到一条错误消息,指出无法解析 findViewById。我已插入以下代码:
package com.example.afa.geobuddy;
import android.view.View;
import android.widget.Button;
public class onClickListener implements View.OnClickListener {
Button cancel_button = (Button) findViewById(R.id.btn_cancel);
@Override
public void onClick(View v) {
}
}
发生这种情况是因为 findViewById 方法是 android.app.Activity class 的成员,即它只能从 Activity 中的匿名 class 可见。 因此,为了在单独的 class 中定义您的 onClickListener,您应该将视图传递给它,如下所示:
public class MyOnClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
}
}
在你的某处 activity:
Button button = (Button) findViewById(R.id.btn_cancel)
button.setOnClickListener(new MyOnClickListener());