Java 如何使用intent在主活动布局的顶部打开活动?

Java 如何使用intent在主活动布局的顶部打开活动?,java,android,android-intent,android-activity,Java,Android,Android Intent,Android Activity,我想在MainActivity中创建一个将启动CompassActivity的意图 这两个类共享一个共同的布局活动_main,但使用它的不同部分 以下是我目前在MainActivity中的意图,它应该打开CompassActivity.java类文件,但没有打开 public void startCompass(View v) { Intent intent = new Intent(this, CompassActivity.class); startActiv

我想在MainActivity中创建一个将启动CompassActivity的意图

这两个类共享一个共同的布局活动_main,但使用它的不同部分

以下是我目前在MainActivity中的意图,它应该打开CompassActivity.java类文件,但没有打开

public void startCompass(View v)
    {
      Intent intent = new Intent(this, CompassActivity.class);
      startActivity(intent);
    }
我所尝试的:

  • 修改androidmainfest.xml
  • 改变意图本身
  • 更改SDK版本

您是要打开意图,还是只想显示/隐藏正在使用的不同视图

在onCreate中实例化视图(findViewById),然后可以调用view.setVisibility(view.GONE或view.VISIBILE)隐藏或显示不同的视图


总之,您的视图已经存在于主活动中(因此无需启动其他活动)-您只需要控制哪些视图在特定时间可见。

您所要做的就是在onCreate方法下放置正确的变量,它应该可以正常工作。

您所说的
它的不同部分是什么意思。activity_main.xml文件的不同部分。为什么要在同一布局中启动新的意图?您可以在一个activity中完成所有操作?我希望打开一个类文件,该类文件将操作我的activity_main.xml布局文件中的视图。我的activity_main.xml不是这里的问题。问题是,意图并没有像应该的那样打开CompassActivity.class文件。CompassActivity.java包含我的compass代码。指针需要根据磁场移动。这就是为什么我想从MainActivity打开它。把代码放在你的MainActivity中。您对Android框架中的工作方式感到困惑。你也可以将指南针转换成一个片段(似乎是适合你的解决方案),但这是一个高级主题,更复杂。这就是问题所在。这些变量被误解了。