java - 通过 Intent 传递 Arraylist

标签 java android android-intent

我想传递任务项

ArrayList<HashMap<String,String>> taskItems = new ArrayList<HashMap<String, String>>();

通过第二个 Activity 的 Intent

    ArrayList<String> stringArr = new ArrayList<String>();
    stringArr.add(KEY_TITLE);
    stringArr.add(KEY_INFO);
    stringArr.add(KEY_OBJECT);
    stringArr.add(KEY_LOCATION);

    ArrayList<Integer> intArr = new ArrayList<Integer>();
    intArr.add(R.id.title);
    intArr.add(R.id.info);
    intArr.add(R.id.object);
    intArr.add(R.id.location);

    //Neue Oberfläche starten
    Intent in = new Intent(ListViewActivity.this, ListMenuItemActivity.class);
    in.putStringArrayListExtra("StringAdapter",stringArr);
    in.putIntegerArrayListExtra("intAdapter",intArr);
    ------>in.putStringArrayListExtra("taskItems",taskItems);

    startActivity(in);

我已经标记了这个位置。 我怎样才能通过ArrayList通过我的 Activity 的 Intent ?

最佳答案

HashMap 扩展了 Serialized 接口(interface),因此您可以传递 Serialized 对象的 ArrayList:

ArrayList<HashMap<String, String>> taskItems = new ArrayList<>();
in.putExtra("taskItems", taskItems);

并像这样获取它:

ArrayList<HashMap<String, String>> taskItems = (ArrayList<HashMap<String, String>>) in
        .getSerializableExtra("taskItems");

关于java - 通过 Intent 传递 Arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29942953/

相关文章:

java - 同一测试类多个<test>无法运行

java - 在此程序中,将 ArrayList 从一个 Activity 传递到另一个 Activity 不起作用

java - Android状态栏中的动画

android - Flowable 的 onErrorResumeNext、networkOnMainThread 出错

Android AlarmManager 报警启动服务

Android 文件选择器绝对路径问题

java - Hibernate 如何检测实体对象的脏状态?

java - 如何使用 Java 离散化 SVG 路径?

android - Visual Studio 2015 Community RC Cordova 无法删除 contenteditable div 中的图像

android - 如何在 Android 中拍照、保存和获取照片