【发布时间】:2014-01-09 12:58:20
【问题描述】:
我想在单击按钮时导航到新页面。以下是我创建的两个活动。我正在使用 Eclipse,但在主活动中出现错误提示 The method onClick(View) of type new View.OnClickListener(){} must override a superclass method。
这是我的主要活动。
package com.example.grammer;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.support.v4.app.NavUtils;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button grammerButton = (Button)findViewById(R.id.grammar);
grammerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, Grammer.class);
startActivity(intent);
}
});
}
}
这是我的第二个活动。
package com.example.grammer;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.support.v4.app.NavUtils;
import android.annotation.TargetApi;
import android.os.Build;
public class Grammer extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_grammer);
Button grammerButton = (Button) findViewById(R.id.grammar);
grammerButton.setOnClickListener(new View.OnClickListener() {
// @Override
public void onClick(View view) {
finish();
}
});
}
}
删除@override 将删除错误,但随后应用程序无法按预期运行。
【问题讨论】:
-
添加此
import android.view.View.OnClickListener;。并添加 @Override 注释。为什么需要拨打finish()?。硬件后退按钮可以完成这项工作。 -
// @Override -> 删除 // 在第二类中
-
@faz 查看完整答案,只需要更改布局名称和按钮 ID。
标签: java android onclicklistener