为多个对象创建一个活动

时间:2016-03-22 05:19:10

标签: android

我想为我的Expandablelist孩子做一个活动。我有多个对象,我想设置onChildClick只打开一个活动,但更改名称和专业以及他/她的图像。 这些是我的对象的样子:

`--------------------------------------
|Name | Lastname | Profession| ImagePathIndex
----------------------------------------
|Sara | Cliffton | Maid      | image[0]
|John | Williams | Gardener  | image[1]
|Jake | Peralta  | Detective | image[2]`

我该怎么做?

3 个答案:

答案 0 :(得分:2)

替代方案,您可以使用 SharedPreferences

SharedPreferences 类提供了一般类型的框架,允许我们保存和检索原始数据类型的持久性 key-value pairs ,例如布尔,浮点数,整数,长整数和字符串。如果您的申请被杀,这些数据将被持久保存到用户会话中。

您可以查看 Passing data in Android using sharedPreferences

答案 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(),因此没有任何堆栈可以点击这就是您想要的。

问候。