组件通信1-课本

(1)MainActivity.java文件:

 

package com.example.administrator.myapplication4;

import android.support.v7.app.AppCompatActivity;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {
    private static final int SUBACTIVITY1=1;
    private static final int SUBACTIVITY2=2;
    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView=(TextView)findViewById(R.id.textShow);
        final Button btn1=(Button)findViewById(R.id.btn1);
        final Button btn2=(Button)findViewById(R.id.btn2);

        btn1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view){
                Intent intent=new Intent(MainActivity.this,SubActivity1.class);
                startActivityForResult(intent,SUBACTIVITY1);
            }
        });

        btn2.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {
                Intent intent=new Intent(MainActivity.this,SubActivity2.class);
                startActivityForResult(intent,SUBACTIVITY2);
            }
        });
    }
    @Override
    protected void onActivityResult(int requestCode,int resultCode,Intent data){
        super.onActivityResult(requestCode,resultCode,data);

        switch (requestCode){
            case SUBACTIVITY1:
                if(resultCode==RESULT_OK){
                    Uri uriDate=data.getData();
                    textView.setText(uriDate.toString());
                }
                break;
            case SUBACTIVITY2:
                break;
        }
    }
}

 

(2)main_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/textShow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="40dp"/>

    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="启动Activity1"/>
    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="启动Activity2"/>
</LinearLayout>

(3)SubActivity1.java文件:

 

package com.example.administrator.myapplication4;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

/**
 * Created by lh on 2018/10/11.
 */

public class SubActivity1 extends Activity{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.subactivity1);
        final EditText editText=(EditText)findViewById(R.id.edit);
        Button btnOK=(Button)findViewById(R.id.btn_ok);
        Button btnCancel=(Button)findViewById(R.id.btn_cancel);

        btnOK.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {
                String uriString=editText.getText().toString();
                Uri data=Uri.parse(uriString);
                Intent result=new Intent(null,data);
                setResult(RESULT_OK,result);
                finish();
            }
        });

        btnCancel.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {
                setResult(RESULT_CANCELED,null);
                finish();
            }
        });
    }
}

 

(4)Subactivity1.xml文件:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="SubActivity1"/>

    <EditText
        android:id="@+id/edit"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="input here"/>
    <Button
        android:id="@+id/btn_ok"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="接受"/>

    <Button
        android:id="@+id/btn_cancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="撤销"/>
</LinearLayout>

 

(5)SubActivity2.java

package com.example.administrator.myapplication4;

import android.app.Activity;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.Button;

/**
 * Created by lh on 2018/10/11.
 */

public class SubActivity2 extends Activity{
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.subactivity2);

        Button btnReturn=(Button)findViewById(R.id.btn_return);
        btnReturn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                setResult(RESULT_CANCELED,null);
                finish();
            }
        });
    }
}

(6)subactivity2.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="SubActivity2"/>

    <Button
        android:id="@+id/btn_return"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="关闭"/>

</LinearLayout>

主界面:

点击”启动Activity1”按钮,跳转到subactivity1页面

点击启动“启动Activity2”按钮,出现如下图界面:

 

posted @ 2018-11-12 23:21  清心lh  阅读(118)  评论(0编辑  收藏  举报