Code for sending ArrayAdapter to another activity?

混江龙づ霸主 提交于 2021-02-02 09:56:58

问题


As we can send String type to another activity like this

public static final String EXTRA_MESSAGE = 
               "com.example.android.twoactivities.extra.MESSAGE";

what should be the code for this

private static final ArrayAdapter LIST_OF_CUSTOMERS = 

P.S.- I am writing this code in MainActivity and want to send Database in the form of ListView to another activity named saveScreen


回答1:


My first suggestion would be why cant the second activity simply query the database itself?

Other then that if you must I'd suggest getting the results from the ArrayAdapter into an ArrayList and using Bundle.putParcelableArrayList when calling the second activity.

See here or this for passing Bundles to Activities and reading their values back again, but essentially you would do something like this when calling the second activity:

Intent intent = new Intent(this, SecondActivity.class);
Bundle bundle = new Bundle();
bundle.putParcelableArrayList("LIST_OF_CUSTOMERS", arrayListOfCustomers);
intent.putExtras(bundle);
startActivity(intent);

And inside the second Activity:

ArrayList<..> customers = getActivity().getIntent().getParcelableArrayListExtra<..>("LIST_OF_CUSTOMERS");
if (customers != null) {
    // do something with the data
}

The only thing to remember is that whatever type your list is of i.e. ArrayList<Customer>, Customer class needs to implement the Parcelable interface. See here or here for more.



来源:https://stackoverflow.com/questions/64926145/code-for-sending-arrayadapter-to-another-activity

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