我如何参加第三项活动?
问题描述:
我在这里阅读如何从MainActivity去第二个活动,不幸的是我仍然不完全理解发生了什么,因为如果我使用相同的代码从第二个活动到第三个活动,它将无法正常工作,所以,没有理解的情况下复制代码总是一个问题。所以,一般来说,从活动到活动到活动的最简单的最基本的方式是什么。换句话说,现在我想让我们说5个活动,我可以通过按下按钮来回跳动。我如何参加第三项活动?
package com.example.human.hurdlesb;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class MainActivity2Activity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity2);
Button btnScreen3 = (Button) findViewById(R.id.btnScreen3);
btnScreen3.setOnClickListener(this);
}
它抱怨说“的观点不能被应用到......(‘这’似乎是这个问题虽然相同的代码工作在MainActivity类
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate ...
getMenuInflater().inflate(R.menu.menu_main_activity2, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
并重写超似乎另一个问题......
@Override
public void onClick(View view) {
Log.i("click", "you clicked");
Intent i = new
Intent(MainActivity2Activity.this,MainActivity3Activity.class);
startActivity(i);
}
}
答
你说不能编译,因为MainActivity2Activity
需要实现View.OnClickListener
接口的代码。该onClick()
您重写的方法来自此接口并且未实现它,您无法重写该方法。因此,你的编译失败。
您是否声明了您的第三项活动? – deadfish
你是什么意思“它不会工作”?它如何失败?从你的问题看,编译错误似乎是问题。这是事实,还是应用程序运行,但第三个活动永远不会启动? – curob
不能编译,在覆盖onClick版本上说,它不会覆盖超类的方法。和setOnClicklistener中的“this”:不能应用于... – recycledElectrons