数组 通过意图列出的对象列表
我知道你可以通过意图传入 String 的数组列表,但是如果它是我定义的某个对象的数组列表呢?说一个自行车的数组列表,我该怎么做?
我知道你可以通过意图传入 String 的数组列表,但是如果它是我定义的某个对象的数组列表呢?说一个自行车的数组列表,我该怎么做?
您可以使对象实现可 Parcelable 并使用 .或者,您可以以某种方式序列化对象,并放置序列化对象的字节数组。putParcelableArrayListExtra
这是一个示例。 通过 发送人员列表。MainActivity
OtherActivity
Intent
class Person implements Serializable {
int id;
String name;
Person(int i, String s) {
id = i;
name = s;
}
}
public class TestAndroidActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ArrayList<Person> list = new ArrayList<Person>();
list.add(new Person(1, "Tom"));
list.add(new Person(5, "John"));
Intent intent = new Intent(this, OtherActitity.class);
intent.putExtra("list", list);
startActivity(intent);
其他活动.java
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Toast;
public class OtherActitity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.other);
Intent i = getIntent();
ArrayList<Person> list = (ArrayList<Person>) i
.getSerializableExtra("list");
Toast.makeText(this, list.get(1).name, Toast.LENGTH_LONG).show();
}
}