在我的应用程序中,我需要显示许多按钮的对话框。因此我决定使用1 onClick来获得一系列按钮。只有我们实施的第一行,就有一个错误。我的代码如下:
import android.app.Activity;
import android.os.Bundle;
import android.app.AlertDialog;
import android.view.View;
public class Trial extends Activity implements View.OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
View b1 = findViewById(R.id.button1);
b1.setOnClickListener(this);
View b2 = findViewById(R.id.button2);
b1.setOnClickListener(this);
}
View.OnClickListener yourListener = new View.OnClickListener() {
public void onClick(View v) {
if (v == button1) {
new AlertDialog.Builder(v.getContext())
.setTitle("Paracettamol")
.setMessage(
"This medicine is generally used to cure Fever")
.setNeutralButton("OK", null).show();
} else if (v == button2) {
new AlertDialog.Builder(v.getContext())
.setTitle("sertraline")
.setMessage(
"This medicine is generally used to cure Head aches")
.setNeutralButton("OK", null).show();
}
}
}
第五行(公共类Trial extends Activity实现View.OnClickListener)给出如下错误:类型试验必须实现继承的抽象方法View.OnClickListener.onClick(View)。任何人都可以帮助我。
答案 0 :(得分:4)
您需要在课堂上拥有以下内容:
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}}
答案 1 :(得分:1)
您有两个选择:
让您的活动实施View.OnClickListener
,这意味着在活动中移动public void onClick(View v)
删除implements View.OnClickListener
并致电b1.setOnClickListener(yourListener);
答案 2 :(得分:1)
你有两个onClickListeners。
当你说:
class Trial extends Activity implements onClickListener
,
您宣布课程Trial
必须自行回复点击次数。因此,您需要像Jon的回答一样实现onClick()方法。
但是,您还制作了一个名为onClickListener
的内部yourListener
。如果你想使用这个,你需要将按钮指向它而不是this
,它指的是父类。 E.g:
b1.setOnClickListener(yourListener);