【发布时间】:2023-03-30 08:39:01
【问题描述】:
在活动之间传递参数的最佳方法是使用 putExtra() 方法。可以通过 putParcelable() 传递对象。但并非所有对象都是可包裹的。如果你想传递一个不可包裹的对象,你怎么能这样做?
我通过在目标活动中创建一个静态对象变量并在调用活动中填充这个变量来解决这个问题。这是一个很好的可能性还是我不应该这样做。如果是,为什么?这会导致任何问题吗?
例子:
主活动
class FirstActivity extends AppCompatActivity {
MyOwnNotParcelableObject mObject;
public void openNextActivity() {
final Intent intent = new Intent(this, SecondActivity.class);
SecondActivity.mObject = mObject; //<--Fills the static variable
startActivity(intent);
}
}
第二个活动
class SecondActivity extends AppCompatActivity {
static MyOwnNotParcelableObject mObject;
}
【问题讨论】:
-
这不是一个好方法,也需要处理。就像有时您需要在实际上不需要时清除此变量。
标签: android android-activity parameter-passing