数组 通过意图列出的对象列表

2022-09-02 05:09:29

我知道你可以通过意图传入 String 的数组列表,但是如果它是我定义的某个对象的数组列表呢?说一个自行车的数组列表,我该怎么做?


答案 1

您可以使对象实现可 Parcelable 并使用 .或者,您可以以某种方式序列化对象,并放置序列化对象的字节数组。putParcelableArrayListExtra


答案 2

这是一个示例。 通过 发送人员列表。MainActivityOtherActivityIntent

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();

    }
}

推荐