Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中将数据解析为listview 我试图将解析的jason数据显示到listview_Java_Android_Android Listview - Fatal编程技术网

Java 在android中将数据解析为listview 我试图将解析的jason数据显示到listview

Java 在android中将数据解析为listview 我试图将解析的jason数据显示到listview,java,android,android-listview,Java,Android,Android Listview,ListViewAdapterForAtomicListItemtype.java public class ListViewAdapterForAtomicListItemtype extends BaseAdapter { // Declare Variables Context context; LayoutInflater inflater; ArrayList<HashMap<String, String>> data;

ListViewAdapterForAtomicListItemtype.java

public class ListViewAdapterForAtomicListItemtype extends BaseAdapter {

    // Declare Variables
    Context context;
    LayoutInflater inflater;
    ArrayList<HashMap<String, String>> data;
    HashMap<String, String> resultp = new HashMap<String, String>();

    public ListViewAdapterForAtomicListItemtype(Context context,
            ArrayList<HashMap<String, String>> arraylist) {
        this.context = context;
        data = arraylist;
    }

    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    public View getView(final int position, View convertView, ViewGroup parent) {
        // Declare Variables
        TextView name;

        inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View itemView = inflater.inflate(R.layout.listview_item_for_atomic_list_item_type, parent, false);
        // Get the position
        resultp = data.get(position);

        // Locate the TextViews in listview_item.xml
        name = (TextView) itemView.findViewById(R.id.textView_id_atomic_list_item_type);

        // Capture position and set results to the TextViews
        name.setText(resultp.get(MainActivity.NAME));


        return itemView;
    }
}
public class BLD_IndividualListOfItems_MainCourse extends Activity{
    // Declare Variables
    JSONObject jsonobject;
    JSONArray jsonarray;
    ListView listview;
    ListViewAdapterForAtomicListItemtype adapter;
    ProgressDialog mProgressDialog;
    ArrayList<HashMap<String, String>> arraylist;
    static String NAME = "rank";


    String TYPE_FILTER;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Get the view from listview_main.xml
        setContentView(R.layout.listview_main);

        TYPE_FILTER = getIntent().getExtras().getString("key_title");


        Log.v("---- Value-MC---", TYPE_FILTER);
        // Locate the listview in listview_main.xml
        listview = (ListView) findViewById(R.id.listview);

        // Execute DownloadJSON AsyncTask
        new DownloadJSON().execute();
    }

    // DownloadJSON AsyncTask
    private class DownloadJSON extends AsyncTask<Void, Void, Void> {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            // Create a progressdialog
            mProgressDialog = new ProgressDialog(BLD_IndividualListOfItems_MainCourse.this);
            // Set progressdialog title
            //mProgressDialog.setTitle("Fetching the information");
            // Set progressdialog message
            mProgressDialog.setMessage("Loading...");
            mProgressDialog.setIndeterminate(false);
            // Show progressdialog
            mProgressDialog.show();
        }

        @Override
        protected Void doInBackground(Void... params) {
            // Create an array
            arraylist = new ArrayList<HashMap<String, String>>();

            String newurl = "?" + "Key=" + TYPE_FILTER.trim();


            // Retrieve JSON Objects from the given URL address
            jsonobject = JSONfunctions.getJSONfromURL("http://54.218.73.244:7005/RestaurantAtomicListItemType/"+newurl);

            try {
                // Locate the array name in JSON
                jsonarray = jsonobject.getJSONArray("restaurants");

                for (int i = 0; i < jsonarray.length(); i++) {
                    HashMap<String, String> map = new HashMap<String, String>();
                    jsonobject = jsonarray.getJSONObject(i);
                    // Retrive JSON Objects
                    map.put(MainActivity.NAME, jsonobject.getString("MasterListMenuName"));

                    // Set the JSON Objects into the array
                    arraylist.add(map);
                }
            } catch (JSONException e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void args) {
            // Pass the results into ListViewAdapter.java
            adapter = new ListViewAdapterForAtomicListItemtype(BLD_IndividualListOfItems_MainCourse.this, arraylist);
            // Set the adapter to the ListView
            listview.setAdapter(adapter);
            // Close the progressdialog
            mProgressDialog.dismiss();
        }
    }
}
公共类ListViewAdapterForAtomicListItemtype扩展BaseAdapter{
//声明变量
语境;
充气机;
阵列列表数据;
HashMap resultp=新的HashMap();
public ListViewAdapterForAtomicListItemtype(上下文,
ArrayList(ArrayList){
this.context=上下文;
数据=数组列表;
}
@凌驾
public int getCount(){
返回data.size();
}
@凌驾
公共对象getItem(int位置){
返回null;
}
@凌驾
公共长getItemId(int位置){
返回0;
}
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
//声明变量
文本视图名称;
充气器=(充气器)上下文
.getSystemService(上下文布局\充气机\服务);
视图项视图=充气器。充气(R.layout.listview\u item\u用于原子列表\u item\u类型,父项,false);
//获得职位
resultp=data.get(位置);
//在listview_item.xml中找到文本视图
name=(TextView)itemView.findViewById(R.id.TextView\u id\u原子\u列表\u项类型);
//捕获位置并将结果设置为文本视图
name.setText(resultp.get(MainActivity.name));
返回项目视图;
}
}
BLD\u个人项目列表\u MainCourse.java

public class ListViewAdapterForAtomicListItemtype extends BaseAdapter {

    // Declare Variables
    Context context;
    LayoutInflater inflater;
    ArrayList<HashMap<String, String>> data;
    HashMap<String, String> resultp = new HashMap<String, String>();

    public ListViewAdapterForAtomicListItemtype(Context context,
            ArrayList<HashMap<String, String>> arraylist) {
        this.context = context;
        data = arraylist;
    }

    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    public View getView(final int position, View convertView, ViewGroup parent) {
        // Declare Variables
        TextView name;

        inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View itemView = inflater.inflate(R.layout.listview_item_for_atomic_list_item_type, parent, false);
        // Get the position
        resultp = data.get(position);

        // Locate the TextViews in listview_item.xml
        name = (TextView) itemView.findViewById(R.id.textView_id_atomic_list_item_type);

        // Capture position and set results to the TextViews
        name.setText(resultp.get(MainActivity.NAME));


        return itemView;
    }
}
public class BLD_IndividualListOfItems_MainCourse extends Activity{
    // Declare Variables
    JSONObject jsonobject;
    JSONArray jsonarray;
    ListView listview;
    ListViewAdapterForAtomicListItemtype adapter;
    ProgressDialog mProgressDialog;
    ArrayList<HashMap<String, String>> arraylist;
    static String NAME = "rank";


    String TYPE_FILTER;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Get the view from listview_main.xml
        setContentView(R.layout.listview_main);

        TYPE_FILTER = getIntent().getExtras().getString("key_title");


        Log.v("---- Value-MC---", TYPE_FILTER);
        // Locate the listview in listview_main.xml
        listview = (ListView) findViewById(R.id.listview);

        // Execute DownloadJSON AsyncTask
        new DownloadJSON().execute();
    }

    // DownloadJSON AsyncTask
    private class DownloadJSON extends AsyncTask<Void, Void, Void> {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            // Create a progressdialog
            mProgressDialog = new ProgressDialog(BLD_IndividualListOfItems_MainCourse.this);
            // Set progressdialog title
            //mProgressDialog.setTitle("Fetching the information");
            // Set progressdialog message
            mProgressDialog.setMessage("Loading...");
            mProgressDialog.setIndeterminate(false);
            // Show progressdialog
            mProgressDialog.show();
        }

        @Override
        protected Void doInBackground(Void... params) {
            // Create an array
            arraylist = new ArrayList<HashMap<String, String>>();

            String newurl = "?" + "Key=" + TYPE_FILTER.trim();


            // Retrieve JSON Objects from the given URL address
            jsonobject = JSONfunctions.getJSONfromURL("http://54.218.73.244:7005/RestaurantAtomicListItemType/"+newurl);

            try {
                // Locate the array name in JSON
                jsonarray = jsonobject.getJSONArray("restaurants");

                for (int i = 0; i < jsonarray.length(); i++) {
                    HashMap<String, String> map = new HashMap<String, String>();
                    jsonobject = jsonarray.getJSONObject(i);
                    // Retrive JSON Objects
                    map.put(MainActivity.NAME, jsonobject.getString("MasterListMenuName"));

                    // Set the JSON Objects into the array
                    arraylist.add(map);
                }
            } catch (JSONException e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void args) {
            // Pass the results into ListViewAdapter.java
            adapter = new ListViewAdapterForAtomicListItemtype(BLD_IndividualListOfItems_MainCourse.this, arraylist);
            // Set the adapter to the ListView
            listview.setAdapter(adapter);
            // Close the progressdialog
            mProgressDialog.dismiss();
        }
    }
}
public class BLD\u IndividualListOfItems\u main课程扩展活动{
//声明变量
JSONObject JSONObject;
JSONArray JSONArray;
列表视图列表视图;
ListViewAdapterForAtomicListItemtype适配器;
进程对话框;
ArrayList ArrayList;
静态字符串NAME=“rank”;
串型滤波器;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//从listview_main.xml获取视图
setContentView(R.layout.listview_main);
TYPE_FILTER=getIntent().getExtras().getString(“key_title”);
Log.v(“----值MC---”,类型\过滤器);
//在listview_main.xml中找到listview
listview=(listview)findViewById(R.id.listview);
//执行下载JSON异步任务
新建下载JSON().execute();
}
//下载JSON异步任务
私有类下载JSON扩展异步任务{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
//创建一个progressdialog
mProgressDialog=新建进度对话框(BLD_IndividualListOfItems_MainCourse.this);
//设置进程对话框标题
//setTitle(“获取信息”);
//设置进程对话框消息
设置消息(“加载…”);
mProgressDialog.setUndeterminate(false);
//显示进度对话框
mProgressDialog.show();
}
@凌驾
受保护的Void doInBackground(Void…参数){
//创建一个数组
arraylist=新的arraylist();
字符串newurl=“?”+“Key=“+TYPE_FILTER.trim()”;
//从给定的URL地址检索JSON对象
jsonobject=JSONfunctions.getJSONfromURL(“http://54.218.73.244:7005/RestaurantAtomicListItemType/“+新网址);
试一试{
//在JSON中找到数组名称
jsonarray=jsonobject.getJSONArray(“餐厅”);
for(int i=0;i
日志

12-30 14:34:25.056: V/---- Value-MC---(1266): Main Course
12-30 14:34:27.196: E/log_tag(1266): Error in http connection java.lang.IllegalArgumentException: Illegal character in query at index 64: http://54.218.73.244:7005/RestaurantAtomicListItemType/?Key=Main Course
12-30 14:34:27.196: E/log_tag(1266): Error converting result java.lang.NullPointerException
12-30 14:34:27.214: E/log_tag(1266): Error parsing data org.json.JSONException: End of input at character 0 of 
12-30 14:34:27.224: W/dalvikvm(1266): threadid=13: thread exiting with uncaught exception (group=0x4001d800)
12-30 14:34:27.264: E/AndroidRuntime(1266): FATAL EXCEPTION: AsyncTask #3
12-30 14:34:27.264: E/AndroidRuntime(1266): java.lang.RuntimeException: An error occured while executing doInBackground()
12-30 14:34:27.264: E/AndroidRuntime(1266):     at android.os.AsyncTask$3.done(AsyncTask.java:200)
12-30 14:34:27.264: E/AndroidRuntime(1266):     at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
12-30 14:34:27.264: E/AndroidRuntime(1266):     at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
12-30 14:34:27.264: E/AndroidRuntime(1266):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
12-30 14:34:27.264: E/AndroidRuntime(1266):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
12-30 14:34:27.264: E/AndroidRuntime(1266):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
12-30 14:34:27.264: E/AndroidRuntime(1266):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
12-30 14:34:27.264: E/AndroidRuntime(1266):     at java.lang.Thread.run(Thread.java:1096)
12-30 14:34:27.264: E/AndroidRuntime(1266): Caused by: java.lang.NullPointerException
12-30 14:34:27.264: E/AndroidRuntime(1266):     at com.project.findmybuffet.BLD_IndividualListOfItems_MainCourse$DownloadJSON.doInBackground(BLD_IndividualListOfItems_MainCourse.java:79)
12-30 14:34:27.264: E/AndroidRuntime(1266):     at com.project.findmybuffet.BLD_IndividualListOfItems_MainCourse$DownloadJSON.doInBackground(BLD_IndividualListOfItems_MainCourse.java:1)
12-30 14:34:27.264: E/AndroidRuntime(1266):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
12-30 14:34:27.264: E/AndroidRuntime(1266):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
12-30 14:34:27.264: E/AndroidRuntime(1266):     ... 4 more
12-30 14:34:27.384: D/dalvikvm(1266): GC_FOR_MALLOC freed 2532 objects / 166712 bytes in 93ms
12-30 14:34:28.654: E/WindowManager(1266): Activity com.project.findmybuffet.BreakfastLunchDinnerIndividualListOfItems has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@45f511f8 that was originally added here
12-30 14:34:28.654: E/WindowManager(1266): android.view.WindowLeaked: Activity com.project.findmybuffet.BreakfastLunchDinnerIndividualListOfItems has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@45f511f8 that was originally added here
12-30 14:34:28.654: E/WindowManager(1266):  at android.view.ViewRoot.<init>(ViewRoot.java:247)
12-30 14:34:28.654: E/WindowManager(1266):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
12-30 14:34:28.654: E/WindowManager(1266):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
12-30 14:34:28.654: E/WindowManager(1266):  at android.view.Window$LocalWindowManager.addView(Window.java:424)
12-30 14:34:28.654: E/WindowManager(1266):  at android.app.Dialog.show(Dialog.java:241)
12-30 14:34:28.654: E/WindowManager(1266):  at com.project.findmybuffet.BLD_IndividualListOfItems_MainCourse$DownloadJSON.onPreExecute(BLD_IndividualListOfItems_MainCourse.java:63)
12-30 14:34:28.654: E/WindowManager(1266):  at android.os.AsyncTask.execute(AsyncTask.java:391)
12-30 14:34:28.654: E/WindowManager(1266):  at com.project.findmybuffet.BLD_IndividualListOfItems_MainCourse.onCreate(BLD_IndividualListOfItems_MainCourse.java:46)
12-30 14:34:28.654: E/WindowManager(1266):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-30 14:34:28.654: E/WindowManager(1266):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
12-30 14:34:28.654: E/WindowManager(1266):  at android.app.ActivityThread.startActivityNow(ActivityThread.java:2503)
12-30 14:34:28.654: E/WindowManager(1266):  at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
12-30 14:34:28.654: E/WindowManager(1266):  at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
12-30 14:34:28.654: E/WindowManager(1266):  at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:651)
12-30 14:34:28.654: E/WindowManager(1266):  at android.widget.TabHost.setCurrentTab(TabHost.java:323)
12-30 14:34:28.654: E/WindowManager(1266):  at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:129)
12-30 14:34:28.654: E/WindowManager(1266):  at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:453)
12-30 14:34:28.654: E/WindowManager(1266):  at android.view.View.performClick(View.java:2408)
12-30 14:34:28.654: E/WindowManager(1266):  at android.view.View$PerformClick.run(View.java:8816)
12-30 14:34:28.654: E/WindowManager(1266):  at android.os.Handler.handleCallback(Handler.java:587)
12-30 14:34:28.654: E/WindowManager(1266):  at android.os.Handler.dispatchMessage(Handler.java:92)
12-30 14:34:28.654: E/WindowManager(1266):  at android.os.Looper.loop(Looper.java:123)
12-30 14:34:28.654: E/WindowManager(1266):  at android.app.ActivityThread.main(ActivityThread.java:4627)
12-30 14:34:28.654: E/WindowManager(1266):  at java.lang.reflect.Method.invokeNative(Native Method)
12-30 14:34:28.654: E/WindowManager(1266):  at java.lang.reflect.Method.invoke(Method.java:521)
12-30 14:34:28.654: E/WindowManager(1266):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-30 14:34:28.654: E/WindowManager(1266):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-30 14:34:28.654: E/WindowManager(1266):  at dalvik.system.NativeStart.main(Native Method)
12-3014:34:25.056:V/----值MC---(1266):主菜

12-30 14:34:27.196:E/log_标记(1266):http连接中出错java.lang.IllegalArgumentException:索引64处的查询中存在非法字符:http://54.218.73.244:7005/RestaurantAtomicListItemType/?Key=Main 课程 12-30 14:34:27.196:E/log_标记(1266):转换结果java.lang.NullPointerException时出错 12-30 14:34:27.214:E/log_标记(1266):解析数据org.json.JSONException时出错:输入结束,字符0处 12-30 14:34:27.224:W/dalvikvm(1266):threadid=13:线程退出时出现未捕获异常(组=0x4001d800) 12-30 14:34:27.264:E/AndroidRuntime(1266):致命异常:AsyncTask#3 12-30 14:34:27.264:E/AndroidRuntime(1266):java.lang.RuntimeException:执行doInBackground()时出错 12-30 14:34:27.264:E/AndroidRuntime(1266):在android.os.AsyncTask$3.done(AsyncTask.java:200) 12-30 14:34:27.264:E/AndroidRuntime(1266):在java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 12-30 14:34:27.264:E/AndroidRuntime(1266):在java.util.concurrent.FutureTask.setException(FutureTask.java:124) 12-30 14:34:27.264:E/AndroidRuntime(1266):在java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 12-30 14:34:27.264:E/AndroidRuntime(1266):在java.util.concurrent.FutureTask.run(FutureTask.jav)中