现在修改代码以反映已接受的解决方案.
现在,这是一个如何将自定义ArrayList传递给DialogFragment的工作示例.
我正在使用newInstance上的Bundle将自定义对象的ArrayList传递给DialogFragment.在newInstance中正确接收了arraylist.对putParcelable的调用执行正常(无错误),但在ArrayList对象的parcelable代码中放置断点表明在设置或获取数据时未调用parcel方法.
我是否正确为ArrayList创建一个LocalityList类并使其成为parcelable,或者Locality类本身是否可以分类?
DialogFragment
/**
* Create a new instance of ValidateUserEnteredLocationLocalitySelectorFragment, providing "localityList"
* as an argument.
*/
public static ValidateUserEnteredLocationLocalitySelectorFragment newInstance(LocalityList localityList) {
ValidateUserEnteredLocationLocalitySelectorFragment fragmentInstance = new ValidateUserEnteredLocationLocalitySelectorFragment();
// Supply location input as an argument.
Bundle bundle = new Bundle();
bundle.putParcelable(KEY_LOCALITY_LIST, localityList);
fragmentInstance.setArguments(bundle);
return fragmentInstance;
}
/**
* Retrieve the locality list from the bundle
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mLocalityList = getArguments().getParcelable(KEY_LOCALITY_LIST);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { …Run Code Online (Sandbox Code Playgroud) 我试图将此主要活动的数据传递给另一个活动
我成功地在活动之间发送数据....就像从Edit-text到下一个活动的数据,putExtra以及GetExtra方法和传递作为意图
有任何想法吗,
ativity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ListView
android:id="@+id/listViewID"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center">
</ListView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
MainActivity.java
public class MainActivity extends Activity {
// url to make request
private static String url = "http://54.218.73.244:7002/";
List<Item> yourData = new ArrayList<Item>();
ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Instantiating ProgressDialog with onCreate method
progressDialog=new ProgressDialog(MainActivity.this);
new ParsingAsync().execute();
}
private class ParsingAsync extends AsyncTask<Void, Void, Void>
{
@Override
protected void onPreExecute() {
// …Run Code Online (Sandbox Code Playgroud)