设计一个主Activity和一个子Activity(Sub-Activity),使用主Activity上的按钮启动子Activity,并将子Activity的一些信息返回给主Activity,并显示在主Activity上。
可以自己设计界面和场景,也可以使用下面提供的内容:
主Activity界面上有一个“登录”按钮和一个用了显示信息的TextView,点击“登录”按钮后打开一个新的Activity,新Activity上面有输入用户名的控件,在用户关闭这个Activity后,将用户输入的用户名到主Activity,并显示在主Activity的TextView中。
MainActivity.java
package com.example.exp4; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private Intent i; private Button loginBT; private TextView ShowT; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); i = new Intent(this,NewActivity.class); ShowT = (TextView) findViewById(R.id.TX1); loginBT= (Button) findViewById(R.id.BT1); loginBT.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivityForResult(i,0); } }); } protected void onActivityResult(int requestCode, int resultCode, Intent data){ String s; super.onActivityResult(requestCode, resultCode, data); if(data == null || data.getExtras()==null || data.getExtras().getString("name")==null){ s = ""; }else { s = data.getExtras().getString("name"); } ShowT.setText(s); } }
NewActivity.java
package com.example.exp4; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; /** * Created by 萌芽洗 on 2018/6/22. */ public class NewActivity extends Activity { private EditText ET1; private Button ReturnBT; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.logon); ET1= (EditText) findViewById(R.id.ET1); ReturnBT =(Button) findViewById(R.id.BT2); ReturnBT.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view){ Intent i = new Intent(); Bundle b = new Bundle(); b.putString("name",ET1.getText().toString()); i.putExtras(b); setResult(RESULT_OK,i); finish(); } }); } }
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center_vertical" tools:context="com.example.exp4.MainActivity"> <LinearLayout android:layout_width="344dp" android:layout_height="100dp" android:orientation="vertical"> <Button android:id="@+id/BT1" android:layout_width="126dp" android:layout_height="50dp" android:layout_gravity="center_horizontal" android:layout_weight="1" android:text="登录" /> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:layout_weight="1" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="用户名:" android:textAlignment="center" /> <TextView android:id="@+id/TX1" android:layout_width="280dp" android:layout_height="match_parent" /> </LinearLayout> </LinearLayout> </android.support.constraint.ConstraintLayout>
logon.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="100dp" android:orientation="vertical" android:layout_gravity="center_vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="用户名:" /> <EditText android:id="@+id/ET1" android:layout_width="300dp" android:layout_height="match_parent" /> </LinearLayout> <Button android:id="@+id/BT2" style="@android:style/Widget.Button" android:layout_width="126dp" android:layout_height="50dp" android:text="返回" android:layout_gravity="center_horizontal" android:textAlignment="center" /> </LinearLayout>
![](https://i-blog.csdnimg.cn/blog_migrate/5052024b4e0b1dbad6e8cf5edadd7c6e.png)
AndroidMainfest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.exp4"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".NewActivity" android:label="@string/app_name"> </activity> </application> <uses-sdk android:minSdkVersion="18" /> </manifest>