安卓:点击按钮跳转到另一个活动

3

我在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));
    }
}

我还编辑了我的清单:

    <activity
        android:name=".aboutTheDeveloper"
        android:label="@string/title_activity_about_the_developer" >
    </activity>

场景:

我在MainActivity.xml中有一个id为@id/openAboutTheDeveloper的按钮。

该按钮应打开AboutTheDeveloper Activity。

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

该属性应调用MainActivity.java中的openAboutTheDeveloper函数。

但它似乎不起作用。 T_T

如果表述过于明确,请原谅。我是Android新手,对Java并不熟悉。


重复:https://dev59.com/Ym435IYBdhLWcg3w4Uas - Actiwitty
你遇到了什么错误?另外,请发布openAboutTheDeveloper代码。 - Want2bExpert
1个回答

5

you can't have

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

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));
    }
}

从您的XML中删除android:onclick属性,或者去掉那些代码,并在MainActivity内添加一个方法。

public void openAboutTheDeveloper(View v) {
        startActivity(new Intent(MainActivity.this, aboutTheDeveloper.class));
}

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


哇!谢谢@Blackbelt。我保留了onClick =“openAboutTheDeveloper”,并添加了openAboutTheDeveloper()方法。 - Kinna P

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接