我这里是有两个窗口 第二个窗口会把第一个窗口传过来的值显示在标签上 第二个窗口的按钮是销毁本窗口 第一个窗口按钮是载入第二个窗口并且传值到第二个窗口 (有几个按钮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();//销毁本窗口则自动返回载入窗口 } }; }