我想为我的Expandablelist孩子做一个活动。我有多个对象,我想设置onChildClick只打开一个活动,但更改名称和专业以及他/她的图像。 这些是我的对象的样子:
`--------------------------------------
|Name | Lastname | Profession| ImagePathIndex
----------------------------------------
|Sara | Cliffton | Maid | image[0]
|John | Williams | Gardener | image[1]
|Jake | Peralta | Detective | image[2]`
我该怎么做?
答案 0 :(得分:2)
替代方案,您可以使用 SharedPreferences 。
SharedPreferences 类提供了一般类型的框架,允许我们保存和检索原始数据类型的持久性 key-value pairs
,例如布尔,浮点数,整数,长整数和字符串。如果您的申请被杀,这些数据将被持久保存到用户会话中。
答案 1 :(得分:1)
只需将对象作为intent extra传递。要使用intent传递对象,您的对象必须实现parcelable。您可以在链接中阅读相关内容。
http://www.101apps.co.za/index.php/articles/using-android-s-parcelable-class-a-tutorial.html
答案 2 :(得分:1)
好的,对于可扩展的儿童监听器,您必须传递一些您想要的详细活动。
Intent i = new Intent(FirstScreen.this, SecondScreen.class);
String strName = null;
i.putExtra("STRING_I_NEED", strName);
在详细的活动中,你必须在这里获得额外的字符串是名称,图像路径等。
String newString;
if (savedInstanceState == null) {
Bundle extras = getIntent().getExtras();
if(extras == null) {
newString= null;
} else {
newString= extras.getString("STRING_I_NEED");
}
} else {
newString= (String) savedInstanceState.getSerializable("STRING_I_NEED");
}
一个主要的事情是,当您从详细活动中退回时,您必须调用finsih(),因此没有任何堆栈可以点击这就是您想要的。
问候。