Android studio 传值
时间: 2024-01-21 21:48:09 浏览: 78
在 Android Studio 中传递值可以通过以下几种方式:
1. Intent
Intent 是 Android 中常用的一种传值方式。可以通过 putExtra() 方法将值传递到另一个 Activity。
在发送 Activity 中:
```java
Intent intent = new Intent(this, ReceiveActivity.class);
intent.putExtra("key", "value");
startActivity(intent);
```
在接收 Activity 中:
```java
Intent intent = getIntent();
String value = intent.getStringExtra("key");
```
2. Bundle
Bundle 是一种可以存储键值对的容器,也可以用来传递参数和数据。可以通过 putString() 等方法将值存储在 Bundle 中,然后通过 setArguments() 方法传递给另一个 Fragment。
在发送 Fragment 中:
```java
Bundle bundle = new Bundle();
bundle.putString("key", "value");
ReceiveFragment receiveFragment = new ReceiveFragment();
receiveFragment.setArguments(bundle);
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, receiveFragment)
.commit();
```
在接收 Fragment 中:
```java
Bundle bundle = getArguments();
String value = bundle.getString("key");
```
3. 公共静态变量
公共静态变量是在一个类中声明的静态变量,可以通过类名来访问。在发送 Activity 或 Fragment 中,将值赋给公共静态变量,在接收 Activity 或 Fragment 中直接访问该变量。
在发送 Activity 或 Fragment 中:
```java
public static String value = "value";
```
在接收 Activity 或 Fragment 中:
```java
String value = SenderActivity.value;
```
4. SharedPreferences
SharedPreferences 是一种轻量级的存储方式,可以存储一些简单的数据类型。可以通过 putString() 等方法将值存储在 SharedPreferences 中,在另一个 Activity 中获取该值。
在发送 Activity 中:
```java
SharedPreferences sharedPreferences = getSharedPreferences("myPrefs", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("key", "value");
editor.apply();
```
在接收 Activity 中:
```java
SharedPreferences sharedPreferences = getSharedPreferences("myPrefs", MODE_PRIVATE);
String value = sharedPreferences.getString("key", "");
```
阅读全文