【Android开发--新手必看篇】Intent and Bundle(Activity 与 Fragment传值)

    技术2022-07-11  83

    Android笔记

    ​ ——传值 【若对该知识点有更多想了解的,欢迎私信博主~~】

    传值:Intent and Bundle

    Activity与Activity之间
    方式一:intent
    //第一个界面 EditText etx1; TextView txt1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etx1=findViewById(R.id.etx1); txt1=findViewById(R.id.txt1); findViewById(R.id.btn3).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //创建Intent对象 //第一个参数是当前Activity,第二个参数是要打开的Activity Intent intent=new Intent(MainActivity.this,Main2Activity.class); //向intent里放入值(第一个参数:给传的值一个名称,用于接收;第二个参数:需要传的值) intent.putExtra("word",etx1.getText().toString()); //启动intent对象,打开Activity startActivity(intent); } }); } //新打开的Activity EditText etx2; TextView txt2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); etx2=findViewById(R.id.etx2); txt2=findViewById(R.id.txt2); //创建Intent对象,getIntent()方法是用于连接上一个Activity Intent intent=getIntent(); //getStringExtra()用于接收传进来的String值,参数为上一个Activity传进此值的name String word=intent.getStringExtra("word"); txt2.setText(word); }
    方式二:intent+bundle
    //第一个界面 EditText etx1; TextView txt1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etx1=findViewById(R.id.etx1); txt1=findViewById(R.id.txt1); findViewById(R.id.btn3).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //创建Intent对象 //第一个参数是当前Activity,第二个参数是要打开的Activity Intent intent=new Intent(MainActivity.this,Main2Activity.class); //创建Bundle对象 Bundle bundle=new Bundle(); //向bundle里放入值(第一个参数:给传的值一个名称,用于接收;第二个参数:需要传的值) bundle.putString("word",etx1.getText().toString()); //通过putExtras()方法传入bundle(注意:此时为putExtras()方法,不是putExtra()方法) intent.putExtras(bundle); //启动intent对象,打开Activity startActivity(intent); } }); } //新打开的Activity EditText etx2; TextView txt2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); etx2=findViewById(R.id.etx2); txt2=findViewById(R.id.txt2); //创建Intent对象,getIntent()方法是用于连接上一个Activity Intent intent=getIntent(); //创建Bundle对象,将存入intent对象里的bundle取出来 Bundle bundle=intent.getExtras(); //getString()用于接收传进来的String值,参数为bundle传进此值的name String word=bundle.getString("word"); txt2.setText(word); }
    Processed: 0.011, SQL: 9