0

我在 Main 的 android xml 文件上有一个按钮,单击该按钮将显示另一个视图/活动。我的问题是错误消息显示应用程序必须意外结束。

这是按钮

<Button android:id="@+id/showmeurcode"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:onClick="OnShowMeUrCode"
>

方法 OnShowMeUrCode 在 MainActivity 类中定义为

private void OnShowMeUrCode(View btn)
{
    Intent urCode=new Intent(this,CodePage.class);
    startActivity(urCode);
}

CodePage从同名的类生成

public class CodePage extends Activity
{
   ....
}

这就是我所做的一切,希望我可以使用 Intent 完成简单的任务来显示另一个视图,但是我运行时遇到了意外错误并且我的程序失败了。

4

2 回答 2

2

您需要将 OnShowMeUrCode() 函数更改为公开的,而不是私有的。由于它是 Activity 类的一部分,如果它是私有的,您的 Button 将无法访问它。

另外它在文档中:http: //developer.android.com/reference/android/widget/Button.html

于 2012-10-02T21:38:30.780 回答
0

根据您没有错误日志输出的代码,我猜您没有将正确的上下文传递给该方法。

这是你的代码:

private void OnShowMeUrCode(View btn)
{
    Intent urCode=new Intent(this,CodePage.class);
    startActivity(urCode);
}  

尝试将相关行替换为:

Intent urCode=new Intent(MainActivity.this,CodePage.class);

假设我有两个活动,A 和 B。如果我从 A 调用 B,我应该写如下内容:

Intent i = new Intent(A.this, B.class);
startActivity(i);

此外,每次创建新活动时,您都需要在 AndroidManifest.xml 中注册您的活动。在您的情况下,请检查您的 AndroidManifest.xml 中是否有 2 个活动

于 2012-10-02T21:28:04.140 回答