我一直在开发Android应用程序,但最近才进入Fragments,因此我遇到了很多学习如何使用它们的问题.我的应用程序中的一个活动有四个不同的片段,每个片段向用户显示一个项目列表.首先创建每个片段,并且仅在选择另一个选项卡时显示一次并隐藏.一旦创建了这些片段中的每一个,就将JSONObjects的ArrayList作为参数传递给片段,如下所示
ft = fm.beginTransaction();
if(currentFragment !=null){
ft.hide(currentFragment);
}
if(whereFragment !=null){
ft.show(whereFragment);
}else{
if(mPlaceList.size()>0){
Bundle bundle = new Bundle();
bundle.putSerializable("array", mPlaceList);
whereFragment = new WhereFragment();
whereFragment.setArguments(bundle);
ft.add(R.id.newpost_container,whereFragment, "whereFragment");
}
}
ft.commit();
currentFragment = whereFragment;
Run Code Online (Sandbox Code Playgroud)
片段中收到了arraylist,一切正常.
actList = (ArrayList<JSONObject>) getArguments().getSerializable("array");
doingAdapter = new DoingAdapter(getActivity(), actList);
actListView.setAdapter(doingAdapter);
Run Code Online (Sandbox Code Playgroud)
父活动中有一个按钮可启动设备摄像头.一旦发生这种情况并且片段中的onPause方法被调用,应用程序崩溃,我在Logcat中收到此错误
logcat的:
06-23 17:51:31.190: E/ACRA(29221): com.parspake.anar fatal error : Parcel: unable to marshal value {"type":"act","id":"5327f9827f49143f3a001c76","title":"????","actType":"where"}
06-23 17:51:31.190: E/ACRA(29221): java.lang.RuntimeException: Parcel: unable to marshal value {"type":"act","id":"5327f9827f49143f3a001c76","title":"????","actType":"where"}
06-23 17:51:31.190: E/ACRA(29221): at android.os.Parcel.writeValue(Parcel.java:1235)
06-23 17:51:31.190: E/ACRA(29221): at android.os.Parcel.writeList(Parcel.java:622)
06-23 …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的最后一年项目开发一个Android应用程序,我正处于需要将数据库连接到我的应用程序的位置.我之前已连接到内部和外部SQLite数据库,但我的主管说我必须使用XAMPP本地主机,因此它在以后是合理的,因为它与使用Web服务器的现实生活情况非常相似.这是我的DBHelper类的代码,我改编自我在网上找到的示例代码并确实改变了一些东西,但我确信有大量的错误.当按钮查看数据时,会导致此类被按下,它只会显示一个空白屏幕并且很长一段时间后会崩溃.
package com.example.parking_guide;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
public class DBHelper extends ListActivity {
// Progress Dialog
private ProgressDialog pDialog;
// Creating JSON Parser object
JSONParser jParser = new JSONParser();
ArrayList<HashMap<String, String>> productsList;
// url to get all products list
private …Run Code Online (Sandbox Code Playgroud)