我在这里阅读了如何从 MainActivity 转到第二个 Activity ,不幸的是我仍然不完全理解发生了什么,因为如果我使用相同的代码从第二个 Activity 转到第三个 Activity ,它不会工作,所以,是的,在不理解的情况下复制代码总是一个问题。所以,一般来说,从一个 Activity 到另一个 Activity 的最简单最基本的方法是什么。换句话说,现在我想要 5 个 Activity ,我可以通过按下按钮来来回跳转。
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);
}
它提示“ View 无法应用于...(‘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);
}
重写父类(super class)似乎是另一个问题......
@Override
public void onClick(View view) {
Log.i("click", "you clicked");
Intent i = new
Intent(MainActivity2Activity.this,MainActivity3Activity.class);
startActivity(i);
}
}
最佳答案
您所说的代码将无法编译,因为MainActivity2Activity
需要实现View.OnClickListener
接口(interface)。您重写的 onClick()
方法来自此接口(interface),如果不实现它,您就无法重写该方法。因此你的编译失败。
关于java - 我如何去第三个 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29478735/