Android:转到另一个活动 onclick 按钮

Kin*_*a P 3 android

我在 MainActivity.java 中添加了这个

btn = (Button)findViewById(R.id.aboutTheDeveloper);

btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void openAboutTheDeveloper(View v) {
        startActivity(new Intent(MainActivity.this, aboutTheDeveloper.class));
    }
}
Run Code Online (Sandbox Code Playgroud)

我还编辑了我的清单:

    <activity
        android:name=".aboutTheDeveloper"
        android:label="@string/title_activity_about_the_developer" >
    </activity>
Run Code Online (Sandbox Code Playgroud)

设想:

我在 MainActivity.xml 中有这个按钮,id = @id/openAboutTheDeveloper

这应该打开 AboutTheDeveloper 活动。

在按钮内我还放置了 android:onclick="openAboutTheDeveloper"

哪个应该在 MainActivity.java 中调用函数 openAboutTheDeveloper

它似乎不起作用。T_T

对不起,如果我太明确了。我对 Android 很陌生,我对 Java 并不是真正的朋友。

Bla*_*elt 5

你不能有

btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void openAboutTheDeveloper(View v) {
        startActivity(new Intent(MainActivity.this, aboutTheDeveloper.class));
    }
}
Run Code Online (Sandbox Code Playgroud)

View.OnClickListener接口有没有public void openAboutTheDeveloper(View v)方法,但是public void onClick(View v)。你可以改变你的 onClickListener 像

btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        startActivity(new Intent(MainActivity.this, aboutTheDeveloper.class));
    }
}
Run Code Online (Sandbox Code Playgroud)

android:onclick从您的 xml 中删除该属性,或者您删除该代码,并在其中添加一个方法MainActivity

public void openAboutTheDeveloper(View v) {
        startActivity(new Intent(MainActivity.this, aboutTheDeveloper.class));
}
Run Code Online (Sandbox Code Playgroud)

该属性android:onclick允许您声明将在运行时调用的处理程序。该方法将通过反射解决,如果找不到,Android 将抛出异常