how to get Hash table Arraylist to other intent?

两盒软妹~` 提交于 2019-11-28 09:34:19

Create a class that extends Serializable with getter setter for the List<Hashtable<String, String>> list

Custom.java

public class Custom implements Serializable{

    private static final long serialVersionUID = 4466821913603037341L;
    private List<Hashtable<String, String>> list;


    public List<Hashtable<String, String>> getList() {
        return list;
    }

    public void setList(List<Hashtable<String, String>> list) {
        this.list = list;
    }
}

To pass to next Activity.

List<Hashtable<String, String>> list = new ArrayList<Hashtable<String,String>>();

Custom custom = new Custom();
custom.setList(list);
intent.putExtra("myobj", custom);

To retrieve in next Activity

Intent intent = getIntent();
Custom custom = (Custom) intent.getSerializableExtra("myobj");
List<Hashtable<String, String>> list = custom.getList();
List<Hashtable<String, String>> info = new ArrayList<Hashtable<String, String>>(); 
String[] selItemArray = new String[info .size()];
            //copy your List of Hashtable Strings into the Array ,and then pass it in your intent
            // ....
            Intent intent = new Intent(InfoClass.this, AnotherClass.class);
            intent.putExtra("info_array", selItemArray);
            startActivityForResult(intent, 0);  

type of arraylist

putIntegerArrayListExtra(String name, ArrayList<Integer> value)

        putParcelableArrayListExtra(String name, ArrayList<? extends Parcelable> value)

        putStringArrayListExtra(String name, ArrayList<String> value)

        putCharSequenceArrayListExtra(String name, ArrayList<CharSequence> value)

    Then you can read from you next activity by replacing put with get with key string as argument,eg

myIntent.getStringArrayListExtra("key");

Array :

Bundle b=new Bundle();
b.putStringArray(key, new String[]{value1, value2});
Intent i=new Intent(context, Class);
i.putExtras(b);



In order to read:

Bundle b=this.getIntent().getExtras();
String[] array=b.getStringArray(key);

Hope this will help you.

Refer : Passing a list of objects between Activities

Convert your Hashtables to Bundles, and pass the Bundles using intent.putExtra() here 's the example

Intent i = new Intent(this,yourclass.class);

i.putExtra("info",info);

and you can get the values in other intent

Bundle extra=getIntent().getExtras();

extra.geStrinf("info");

Convert your Hashtables to Bundles, and pass the Bundles using intent.putExtra()

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!