activity 之间传递参数
Posted yuguangyuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了activity 之间传递参数相关的知识,希望对你有一定的参考价值。
参考:http://c.biancheng.net/view/2923.html
mainActivity中 通过intent 传递参数
class MyClickListener implements View.OnClickListener{ @Override public void onClick(View view) { //在控制台输出一条语句 Log.e(TAG,"刚刚点击的按钮时注册了内部类监听器对象的按钮"); Intent intent = new Intent(MainActivity.this, secondActivity.class); //利用 Intent 传递数据。 intent.putExtra("age",18); intent.putExtra("name","kelly"); intent.putExtra("level",‘A‘); //利用 Bundle 传递数据。 Bundle myBundle = new Bundle(); myBundle.putString("author","mole"); intent.putExtras(myBundle); startActivity(intent); } }
在secondActivity中获取intent
package com.example.myapplication; import android.content.Intent; import android.os.Bundle; import android.os.PersistableBundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.Toast; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; public class secondActivity extends AppCompatActivity { private static final String TAG = "secondActivity"; @Override public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) { super.onCreate(savedInstanceState, persistentState); } @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); Intent intent = getIntent(); String name = intent.getStringExtra("name"); int age = intent.getIntExtra("age",100); char level = intent.getCharExtra("level",‘C‘); Log.e(TAG, "onCreate: name:" + name); Log.e(TAG, "onCreate: age:" + age); Log.e(TAG, "onCreate: level:" + level); Log.e(TAG, "onCreate() called with: savedInstanceState = [" + savedInstanceState + "]"); Bundle myBundle = intent.getExtras(); String author = myBundle.getString("author"); Log.e(TAG, "onCreate: author:" + author); Button bt = findViewById(R.id.button_second); bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(secondActivity.this,"button is clicked",Toast.LENGTH_SHORT).show(); Log.e(TAG,"==========匿名内部类======secondActivity===="); Intent intent = new Intent(secondActivity.this, MainActivity.class); startActivity(intent); } }); } }
以上是关于activity 之间传递参数的主要内容,如果未能解决你的问题,请参考以下文章
Android -- 每日一问:两个 Activity 之间如何传递参数?