这个 其实也是比较简单的 感觉很好玩 就 写篇博客记录一下吧
我们都知道 活动的开启是
startActivity(intent);
然后我们 如果想传入值的话 直接
intent.putExtra 就可以
第一个是 我们的 标识(我是这样理解的 代表 是那个信号 然后第二个就是传入的参数了)
然后如果想传入类的话 需要继承序列化的类
还有 表示 设置成 全局的静变量 就ok了
package com.example.lenovo.myapplication;
import android.content.Intent;
import android.os.Parcelable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.io.Serializable;
public class MainActivity extends AppCompatActivity {
public static String Y="Y";
public static String C="C";
private Button button;
private EditText view1;
private String str;
public Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
view1 = (EditText) findViewById(R.id.editText);
intent = new Intent(MainActivity.this, Main2Activity.class);
SetLister();
}
private void SetLister() {
OnClick onclick=new OnClick();
button.setOnClickListener(onclick);
}
private class OnClick implements View.OnClickListener{
@Override
public void onClick(View v) {
switch (v.getId())
{
case R.id.button:
str=view1.getText().toString();
intent.putExtra("Y",str);
demo d=new demo("皮皮虾",12);
intent.putExtra("C", (Serializable) d);
// Log.i("呜呜","出bug了");
startActivity(intent);
}
}
}
}
package com.example.lenovo.myapplication;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class Main2Activity extends AppCompatActivity {
private TextView view2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
view2=(TextView) findViewById(R.id.textView);
Intent intent = getIntent();
if(intent!=null)
{
String title = intent.getStringExtra(MainActivity.Y);
view2.setText(title);
demo s=(demo)intent.getSerializableExtra(MainActivity.C);
setTitle("名字是:"+ s.getUserName());
}
}
}
package com.example.lenovo.myapplication;
import java.io.Serializable;
/**
* Created by Lenovo on 2019/3/16.
*/
public class demo implements Serializable {
private String name;
private int age;
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public String getUserName()
{
return this.name;
}
public demo(String name,int age) {
this.name = name;
this.age = age;
}
}
然后 效果如下