Activity到Adaper到Activity 2,以及如何在Activity中使用Activity 1的数据
Activtiy1 to Adaper to Activity2 ,and how to use the Activity1 data in Activtiy2
我有两个活动,名为 Activtiy1
和 Activity2
,还有一个 Adapter
。
Activity1
使用适配器,在适配器中,我使用 intent 跳转到 Activiy2
。
我的问题是 Activity2
想使用来自 Activiy1
的数据,但我没有简单的方法可以通过。
我想要一个简单的方法来解决这个问题。
选项:
- 创建意图时,将数据放入一个包中 http://developer.android.com/reference/android/os/Bundle.html,然后将其添加到意图中。
- 看看单例设计模式。在一个 activity 中创建对象,另一个 activity.
可以访问该对象
- 如果你所有的数据都是原始类型,你可以使用 intent.putExtra(..,..);
在activity-1开始activity-2
Intent i = new Intent(activity1.this, activity2.class);
i.putExtra("Key","your data");
StartActivity(i);
然后在第二个 activity 从第一个 activity
获取数据
@Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.xml);
String data = getIntent.getExtra("key");
Toast.makeText(getApplicationContext(), "This is data"+data, Toast.LENGTH_SHORT).show();
}
我有两个活动,名为 Activtiy1
和 Activity2
,还有一个 Adapter
。
Activity1
使用适配器,在适配器中,我使用 intent 跳转到 Activiy2
。
我的问题是 Activity2
想使用来自 Activiy1
的数据,但我没有简单的方法可以通过。
我想要一个简单的方法来解决这个问题。
选项:
- 创建意图时,将数据放入一个包中 http://developer.android.com/reference/android/os/Bundle.html,然后将其添加到意图中。
- 看看单例设计模式。在一个 activity 中创建对象,另一个 activity. 可以访问该对象
- 如果你所有的数据都是原始类型,你可以使用 intent.putExtra(..,..);
在activity-1开始activity-2
Intent i = new Intent(activity1.this, activity2.class);
i.putExtra("Key","your data");
StartActivity(i);
然后在第二个 activity 从第一个 activity
获取数据 @Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.xml);
String data = getIntent.getExtra("key");
Toast.makeText(getApplicationContext(), "This is data"+data, Toast.LENGTH_SHORT).show();
}