我想在主视图上为按钮实现一个点击监听器。我的代码如下所示
protected void onCreate(Bundle savedValues) {
...
// Capture our button from layout
Button button = (Button)findViewById(R.id.btnFinish);
// Register the onClick listener with the implementation above
button.setOnClickListener(mFinishListener);
...
}
private OnClickListener mFinishListener = new OnClickListener() {
public void onClick(View v) {
// do something when the button is clicked
}
};
但是显示错误如下
The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (DialogInterface.OnClickListener) MobileTrackerActivity.java /MobileTracker/src/com/example/mobiletracker line 37 Java Problem
我不知道该怎么做。请帮忙。
答案 0 :(得分:2)
您没有使用正确的接口来实例化mFinishLinstener
变量...
您可能有一个指定DialogInterface
的导入,这会使视图混乱。
尝试明确指定View.OnClickListener
。
private View.OnClickListener mFinishListener = new View.OnClickListener() {
public void onClick(View v) {
// do something when the button is clicked
}
};
答案 1 :(得分:2)
根据我的意见实施最佳实施方式按钮的点击事件。
不是将OnClickListener应用于活动中的按钮,而是使用android:onClick属性为XML布局中的按钮指定方法。例如:
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/self_destruct"
android:onClick="selfDestruct" />
现在,当用户单击该按钮时,Android系统会调用活动的selfDestruct(View)方法。为了使其工作,该方法必须是公共的并接受View作为其唯一参数。例如:
public void selfDestruct(View view) {
// Kabloey
}
注意:上面的代码在Android SDK - Button中给出。
答案 2 :(得分:1)
试试这段代码:::
final Button button = (Button) findViewById(R.id.btnFinish);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
答案 3 :(得分:0)
只需尝试以下内容:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// do something when the button is clicked
}
};
答案 4 :(得分:0)
您也可以使用以下代码..
Button button = (Button)findViewById(R.id.btnFinish);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
//Write Your code here
}
});
答案 5 :(得分:0)
您也可以在xml中声明onclick。
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onclick="buttonClick" />
在您的代码中,您将函数定义为:
public void buttonClick(View view)
{
// handle click
}