标签:info rri text linear int nta ali lis nis
实验目的:
熟悉和掌握Android组件间通信的方式和技巧。
实验要求:
1. 运行课本的示例程序,理解组件通信的方式和过程
2.设计一个主Activity和一个子Activity(Sub-Activity),使用主Activity上的按钮启动子Activity,并将子Activity的一些信息返回给主Activity,并显示在主Activity上。
1 package com.flyuz.myapplication; 2 3 import android.content.Intent; 4 import android.net.Uri; 5 import android.support.v7.app.AppCompatActivity; 6 import android.os.Bundle; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.TextView; 10 11 public class MainActivity extends AppCompatActivity { 12 Button bt1; 13 Button bt2; 14 TextView tv; 15 final int SUBACTIVITY1 = 1; 16 final int SUBACTIVITY2 = 2; 17 @Override 18 protected void onCreate(Bundle savedInstanceState) { 19 super.onCreate(savedInstanceState); 20 setContentView(R.layout.activity_main); 21 setTitle("MainActivity"); 22 bt1 = (Button) findViewById(R.id.bt1); 23 bt2 = (Button) findViewById(R.id.bt2); 24 tv = (TextView) findViewById(R.id.tv); 25 bt1.setOnClickListener(new View.OnClickListener() { 26 @Override 27 public void onClick(View view) { 28 Intent intent = new Intent(MainActivity.this, NewActivity1.class); 29 startActivityForResult(intent, SUBACTIVITY1); 30 } 31 }); 32 bt2.setOnClickListener(new View.OnClickListener() { 33 @Override 34 public void onClick(View view) { 35 Intent intent = new Intent(MainActivity.this, NewActivity2.class); 36 startActivityForResult(intent, SUBACTIVITY2); 37 } 38 }); 39 } 40 41 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 42 super.onActivityResult(requestCode, resultCode, data); 43 switch (requestCode) { 44 case SUBACTIVITY1: 45 if (resultCode == 1) { 46 Uri uriData = data.getData(); 47 tv.setText(uriData.toString()); 48 } 49 case SUBACTIVITY2: 50 if (resultCode == -1) { 51 Uri uriData = data.getData(); 52 tv.setText(uriData.toString()); 53 } 54 } 55 } 56 }
1 package com.flyuz.myapplication; 2 3 import android.net.Uri; 4 import android.support.v7.app.AppCompatActivity; 5 import android.os.Bundle; 6 import android.view.View; 7 import android.widget.Button; 8 import android.widget.EditText; 9 import android.content.Intent; 10 11 public class NewActivity1 extends AppCompatActivity { 12 Button btOk; 13 EditText et; 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_new1); 18 setTitle("NewActivity1"); 19 btOk = (Button)findViewById(R.id.btOK); 20 et = (EditText)findViewById(R.id.et); 21 btOk.setOnClickListener(new View.OnClickListener() { 22 @Override 23 public void onClick(View view) { 24 String str = et.getText().toString(); 25 Uri data = Uri.parse("来自NewActivity1的消息" + str); 26 Intent result = new Intent(null, data); 27 setResult(1, result); 28 finish(); 29 } 30 }); 31 } 32 }
1 package com.flyuz.myapplication; 2 3 import android.net.Uri; 4 import android.support.v7.app.AppCompatActivity; 5 import android.os.Bundle; 6 import android.view.View; 7 import android.widget.Button; 8 import android.widget.EditText; 9 import android.content.Intent; 10 11 public class NewActivity2 extends AppCompatActivity { 12 Button btOk; 13 EditText et; 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_new1); 18 setTitle("NewActivity2"); 19 btOk = (Button)findViewById(R.id.btOK); 20 et = (EditText)findViewById(R.id.et); 21 btOk.setOnClickListener(new View.OnClickListener() { 22 @Override 23 public void onClick(View view) { 24 String str = et.getText().toString(); 25 Uri data = Uri.parse("来自NewActivity2的消息" + str); 26 Intent result = new Intent(null, data); 27 setResult(-1, result); 28 finish(); 29 } 30 }); 31 } 32 }
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 android:gravity="center" 8 tools:context=".MainActivity" 9 android:orientation="vertical"> 10 <Button 11 android:id="@+id/bt1" 12 android:layout_width="match_parent" 13 android:layout_height="wrap_content" 14 android:layout_weight="0.2" 15 android:text="进入NewActivity1!" /> 16 17 <Button 18 android:id="@+id/bt2" 19 android:layout_width="match_parent" 20 android:layout_height="wrap_content" 21 android:layout_weight="0.2" 22 android:text="进入NewActivity2!" /> 23 <TextView 24 android:id="@+id/tv" 25 android:layout_width="match_parent" 26 android:layout_height="wrap_content" 27 android:layout_weight="0.6" 28 android:text="" /> 29 30 </LinearLayout>
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:gravity="center" > 7 8 <LinearLayout 9 android:layout_width="match_parent" 10 android:layout_height="wrap_content" 11 android:orientation="horizontal" 12 android:gravity="center" > 13 14 <TextView 15 android:id="@+id/tv" 16 android:layout_width="wrap_content" 17 android:layout_height="wrap_content" 18 android:layout_weight="0.2" 19 android:text="回信:" /> 20 21 <EditText 22 android:id="@+id/et" 23 android:layout_width="wrap_content" 24 android:layout_height="wrap_content" 25 android:layout_weight="0.8" /> 26 </LinearLayout> 27 28 29 <Button 30 android:id="@+id/btOK" 31 android:layout_width="match_parent" 32 android:layout_height="wrap_content" 33 android:text="确定" /> 34 </LinearLayout>
标签:info rri text linear int nta ali lis nis
原文地址:https://www.cnblogs.com/flyuz/p/9904215.html