我的问题是如何在类extends Activity
的类之间传递变量,是的,我有2个主要类
例如,我有一个具有所有setter和getter的对象类,然后放入ArrayList<object>
,但是当我在classA extends Activity
中设置变量并且我想传递变量时我在classA
中设置了对象类,以便我可以在classB
扩展活动
我厌倦了在classB中这样做
ArrayList<object> objArrayList;
objArrayList.get(pos).getName;
但我回来的只是一个空指针。
我也做了Log.d("test", "name: " + objArrayList.get(pos).getName);
classA
中的它工作正常但是当我在classB
中执行此操作时,我得到一个nullpointer
答案 0 :(得分:0)
为了在“活动”之间传递变量,请使用您开始第二项活动的意图和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");
...
}
答案 1 :(得分:0)
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
答案 2 :(得分:0)
试试这个......
在你的第一次活动......
Intent i = new Intent(this, SecondActivity.class);
i.putExtra("My_ARRAY_LIST", arrayList);
startActivity(i);
你可以把你想发送的任何东西发送给String,int,boolean,ArraList等。 (对象必须是可序列化/可分区的) 在第二个活动中,你应该从意图中提取它,
Intent i = getIntent();
ArrayList<String> arraList = (ArrayList<String>) i.getSerializableExtra("MY_ARRAY_LIST");