安卓 如何载入一个新窗口如何关闭窗口和向另一个窗口传值

我这里是有两个窗口   第二个窗口会把第一个窗口传过来的值显示在标签上    第二个窗口的按钮是销毁本窗口   第一个窗口按钮是载入第二个窗口并且传值到第二个窗口  (有几个按钮ID 和textview ID 我就不提了 应该看得懂)

这里主要用到了Intent 发现这个对象用到的很多

这是第一个窗口的java代码MainActivity 

package com.example.vmpdump.windw;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button bt=findViewById(R.id.button);
        bt.setOnClickListener(OnClickListener);
    }

    private View.OnClickListener  OnClickListener =new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent =new Intent();
            intent.setClass(MainActivity.this,Main2Activity.class);//第一个是当前窗口context 第二个是要载入的窗口类
            intent.putExtra("键","哈哈哈哈");//向另一个窗口传递参数键值对相当于map  可以传数组,对象什么的     Serializable这个是传对象的
            startActivity(intent);//启动intent
            // 如果你是用IDE直接生成的窗口 ManiFest不用加 <activity android:name=".Main2Activity android:label="窗口标题""></activity> 他自动加好了

        }
    };



}

  这是第二个窗口java类代码Main2Activity

package com.example.vmpdump.windw;

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

public class Main2Activity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Intent intent =getIntent();
        Bundle bundle=intent.getExtras();
        String temp=  bundle.getString("键");
        TextView textView= findViewById(R.id.lab);
        Button button=findViewById(R.id.button2);
        button.setOnClickListener(onClickListener);
        textView.setText(temp);
    }

    private View.OnClickListener onClickListener=new View.OnClickListener() {
        @Override
        public void onClick(View view) {
finish();//销毁本窗口则自动返回载入窗口
        }
    };
}

  

 

原文地址:https://www.cnblogs.com/xuexidememeda/p/9534911.html