在 类 之间传递变量
Passing variables between classes
我的问题是如何在 classes 和 classes extends Activity
之间传递变量,是的,我有 2 个主要的 classes
例如,我有一个对象 class,它具有所有的 setter 和 getter,然后将其放入 ArrayList<object>
,但是当我在 classA extends Activity
中设置变量时,我想传递我在 classA
中为对象 class 设置的变量,以便我可以在 classB
中获取它们 extends Activity
我在 classB
中做这个很累
ArrayList<object> objArrayList;
objArrayList.get(pos).getName;
但我返回的只是一个空指针。
我也做了一个Log.d("test", "name: " + objArrayList.get(pos).getName);
在classA
中它工作正常但是当我在classB
中这样做时,我得到一个空指针
为了在 Activity 之间传递变量,请使用您的 intent,并以此开始您的第二个 activity 和 putExtra 方法:
Intent intent = new Intent(this, classB.class);
String name = objArrayList.get(pos).getName;
intent.putExtra("name",name);
在您的 classB 中,您可以通过 getIntent() 方法获取此参数:
Bundle extras = getIntent().getExtras();
if(extras != null) {
String name = extras.getString("name");
...
}
In first class,you need to start second activity
Intent i = new Intent(getActivity(), classB.class);
i.putExtra("Value1", name); //name is string value which is need to passed in second activity
startActivity(i);
In classB...
Bundle extras = getIntent().getExtras();
String value = extras.getString("Value1");
//here as value we get string passed from first activity
试试这个...
在你的第一个 activity...
Intent i = new Intent(this, SecondActivity.class);
i.putExtra("My_ARRAY_LIST", arrayList);
startActivity(i);
你可以放任何你想发送的字符串,int,boolean,ArraList等等。
(对象必须是 serializable/parceable )
在 Second activity 中,您应该将其从意图中提取为,
Intent i = getIntent();
ArrayList<String> arraList = (ArrayList<String>) i.getSerializableExtra("MY_ARRAY_LIST");
我的问题是如何在 classes 和 classes extends Activity
之间传递变量,是的,我有 2 个主要的 classes
例如,我有一个对象 class,它具有所有的 setter 和 getter,然后将其放入 ArrayList<object>
,但是当我在 classA extends Activity
中设置变量时,我想传递我在 classA
中为对象 class 设置的变量,以便我可以在 classB
中获取它们 extends Activity
我在 classB
中做这个很累ArrayList<object> objArrayList;
objArrayList.get(pos).getName;
但我返回的只是一个空指针。
我也做了一个Log.d("test", "name: " + objArrayList.get(pos).getName);
在classA
中它工作正常但是当我在classB
中这样做时,我得到一个空指针
为了在 Activity 之间传递变量,请使用您的 intent,并以此开始您的第二个 activity 和 putExtra 方法:
Intent intent = new Intent(this, classB.class);
String name = objArrayList.get(pos).getName;
intent.putExtra("name",name);
在您的 classB 中,您可以通过 getIntent() 方法获取此参数:
Bundle extras = getIntent().getExtras();
if(extras != null) {
String name = extras.getString("name");
...
}
In first class,you need to start second activity
Intent i = new Intent(getActivity(), classB.class);
i.putExtra("Value1", name); //name is string value which is need to passed in second activity
startActivity(i);
In classB...
Bundle extras = getIntent().getExtras();
String value = extras.getString("Value1");
//here as value we get string passed from first activity
试试这个...
在你的第一个 activity...
Intent i = new Intent(this, SecondActivity.class);
i.putExtra("My_ARRAY_LIST", arrayList);
startActivity(i);
你可以放任何你想发送的字符串,int,boolean,ArraList等等。 (对象必须是 serializable/parceable ) 在 Second activity 中,您应该将其从意图中提取为,
Intent i = getIntent();
ArrayList<String> arraList = (ArrayList<String>) i.getSerializableExtra("MY_ARRAY_LIST");