Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 第一次尝试了解意图_Java_Android_Android Intent - Fatal编程技术网

Java 第一次尝试了解意图

Java 第一次尝试了解意图,java,android,android-intent,Java,Android,Android Intent,我在Main的android xml文件上有一个按钮,单击该按钮将显示另一个视图/活动。 我的问题是错误消息显示应用程序必须意外结束 这是按钮 <Button android:id="@+id/showmeurcode" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="OnShowMeUrCode" > 代码页由同名类生成 publi

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

这是按钮

<Button android:id="@+id/showmeurcode"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:onClick="OnShowMeUrCode"
>
代码页
由同名类生成

public class CodePage extends Activity
{
   ....
}

这就是我所做的一切,我希望我能够完成这个简单的任务,并打算显示另一个视图,但是我遇到了一个意外的错误,我的程序失败了。

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

这是您的代码:

private void OnShowMeUrCode(View btn)
{
    Intent urCode=new Intent(this,CodePage.class);
    startActivity(urCode);
}  
尝试将相关行替换为:

Intent-urCode=newintent(MainActivity.this,CodePage.class)

比如说,我有两个活动,A和B。如果我从A给B打电话,我应该写下如下内容:

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

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

您需要将OnShowMeUrCode()函数更改为public而不是private。因为它是Activity类的一部分,所以如果它是私有的,您的按钮将无法访问它

另外,它在文档中:

如果你的应用程序崩溃,你应该总是记录你的LogCat错误。谢谢,@Sam,好的,我会调查的,很抱歉我漏掉了一个词:“总是发布你的日志”。只需将LogCat错误剪切并粘贴到您的问题中,我们就可以看到发生了什么。AndroidManifest.xml建议+1-1对于上下文建议-上下文与
main活动无关。在这种情况下,此
与此
相同。所以总的来说,你的答案是+/-0。@SimonAndréForsberg thx建议:)我必须猜测问题,因为提问者没有提供日志来揭示问题可能在哪里。
Intent i = new Intent(A.this, B.class);
startActivity(i);