Java Android从另一个活动中检索信息,创建新布局

Java Android从另一个活动中检索信息,创建新布局,java,android,xml,Java,Android,Xml,我正在学习如何在Android下开发。我做了一个新项目,主要活动,我想设计一个新窗口。我已经概括了这里描述的新活动 但我无法为新活动获取可视化编辑器。我知道我想创建一个新的布局,但如何创建并将其与第二个活动连接起来呢 如何正确地从secondActivity(关闭它?最小化它?如何?)返回到mainActivity,并且不要丢失我们使用secondActivity的原因所收集的信息(例如用户所做的选择 这就是我调用第二个活动的方式,它工作得很好 Intent intent = new Inte

我正在学习如何在Android下开发。我做了一个新项目,主要活动,我想设计一个新窗口。我已经概括了这里描述的新活动

  • 但我无法为新活动获取可视化编辑器。我知道我想创建一个新的布局,但如何创建并将其与第二个活动连接起来呢

  • 如何正确地从secondActivity(关闭它?最小化它?如何?)返回到mainActivity,并且不要丢失我们使用secondActivity的原因所收集的信息(例如用户所做的选择

  • 这就是我调用第二个活动的方式,它工作得很好

    Intent intent = new Intent(this,DrugieOkno.class);
    startActivity(intent);
    
  • 要添加新活动,请按照问题中回答的方法进行操作。这样,您将创建新活动,而无需手动将其添加到清单中。[每个活动都需要在
    AndroidManifest.xml
    ]中列出]
  • 假设您创建了一个新的活动名称
    Activity2.java
    。若要将新布局添加到新活动,请将一个新的xml文件添加到
    res/layout
    文件夹,例如
    Activity2.xml
    [在其中定义新活动的布局]

    要将新布局链接到新活动,请在新创建的
    Activity2.java

    setContentView(R.layout.activity2);
    
    所以它看起来是这样的:

        public class Activity2 extends Activity{
    
            /** Called when the activity is first created. */
            @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity2);         
        }       
      }
    
    2.现在,如果您想从
    Activity1.java
    Activity2.java
    发送一些数据,您需要使用
    Bundles

    因此,如果您想从
    Activity1
    发送一个
    字符串,请在
    Activity1.java
    中执行以下操作:

    Intent nextActivity = new Intent(this, Activity2.class);
    Bundle passData = new Bundle(); //to hold your data
    passDataBndl.putString("fname", fname); //put in some String. the first parameter to it is the id, and the second parameter is the value
    nextActivity.putExtras(passDataBndl); //Add bundle to the Intent
    startActivityForResult(nextActivity, 0); //Start Intent
    
    要在
    Activity2.java
    中接收数据,请执行以下操作(例如,
    onCreate()

    关于问题1: 这是一个关于如何创建一个新的
    活动的基本教程
    。对于一个包含更多Android开发信息的更全面的教程,您可以看到

    关于问题2: 对于在
    活动之间传递数据来说
    是一个很好的教程

    希望有帮助

     Bundle params = this.getIntent().getExtras(); //gets the data from the Intent
     String firstName = params.getString("fname"); //gets value of fname