android spinner加载json崩溃
我正试图使用截取获取数组列表并在微调器中显示它,但我的应用程序崩溃了。 下面是应用程序的主要活动android spinner加载json崩溃,android,Android,我正试图使用截取获取数组列表并在微调器中显示它,但我的应用程序崩溃了。 下面是应用程序的主要活动 package com.example.shivadeeps.webservice; import android.content.Context; import android.graphics.Bitmap; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.uti
package com.example.shivadeeps.webservice;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Config;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONObject;
import java.util.ArrayList;
import static java.lang.Character.getName;
public class MainActivity extends AppCompatActivity {
private Spinner spinner;
private ArrayList<String> trips;
private JSONArray result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
trips= new ArrayList<String>();
this.spinner = (Spinner) findViewById(R.id.spinner);
spinner.setOnItemSelectedListener((AdapterView.OnItemSelectedListener) this);
loadtrip();
}
public void loadtrip() {
StringRequest stringRequest = new StringRequest(config.DATA_URL,
new Response.Listener<String>() {
public void onResponse(String response) {
JSONObject j = null;
try {
j = new JSONObject(response);
result = j.getJSONArray(config.JSON_ARRAY);
getStudents(result);
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void getStudents(JSONArray j){
for(int i=0;i<j.length();i++){
try {
JSONObject json = j.getJSONObject(i);
trips.add(json.getString(config.DATA_URL));
} catch (JSONException e) {
e.printStackTrace();
}
}
//Setting adapter to show the items in the spinner
spinner.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item,trips));
}
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String item = parent.getItemAtPosition(position).toString();
Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView<?> parent) {
}
}
package com.example.shivadeeps.webservice;
导入android.content.Context;
导入android.graphics.Bitmap;
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入android.util.Config;
导入android.util.Log;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.Spinner;
导入android.widget.TextView;
导入android.widget.Toast;
导入com.android.volley.Request;
导入com.android.volley.RequestQueue;
导入com.android.volley.Response;
导入com.android.volley.VolleyError;
导入com.android.volley.toolbox.ImageLoader;
导入com.android.volley.toolbox.JsonObjectRequest;
导入com.android.volley.toolbox.StringRequest;
导入com.android.volley.toolbox.volley;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入org.json.JSONObject;
导入java.util.ArrayList;
导入静态java.lang.Character.getName;
公共类MainActivity扩展了AppCompatActivity{
私人纺纱机;
私人旅行;
私人JSONArray结果;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
trips=新的ArrayList();
this.spinner=(spinner)findViewById(R.id.spinner);
spinner.setOnItemSelectedListener((AdapterView.OnItemSelectedListener)this);
loadtrip();
}
公共void loadtrip(){
StringRequest StringRequest=新的StringRequest(config.DATA\u URL,
新的Response.Listener(){
公共void onResponse(字符串响应){
JSONObject j=null;
试一试{
j=新的JSONObject(响应);
result=j.getJSONArray(config.JSON_数组);
获取学生(结果);
}捕获(JSONException e){
e、 printStackTrace();
}
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
}
});
RequestQueue RequestQueue=Volley.newRequestQueue(this);
添加(stringRequest);
}
私人学生(JSONArray j){
对于(int i=0;i父级){
}
}
XML代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/red"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.shivadeeps.webservice.MainActivity">
<uses-permission android:name="android.permission.INTERNET" />
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="23" />
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="80dp"
android:layout_marginTop="100dp" ></Spinner>
<TextView
android:id="@+id/text_id"
android:layout_width="300dp"
android:layout_height="200dp"
android:textColor="@android:color/holo_blue_dark"
android:textColorHighlight="@android:color/primary_text_dark"
android:layout_centerVertical="true"
android:textSize="50dp"/>
</RelativeLayout>
这是航海日志
01-10 11:29:25.226 12404-12404/com.example.shivadeeps.webserviceE/AndroidRuntime:致命异常:主 进程:com.example.shivadeeps.webservice,PID:12404 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.shivadeeps.webservice/com.example.shivadeeps.webservice.MainActivity}: android.view.InflateException:二进制XML文件行#13:错误 膨胀类使用权限 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3190) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300) 在android.app.ActivityThread.access$1000(ActivityThread.java:211) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1705) 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:145) 位于android.app.ActivityThread.main(ActivityThread.java:6946) 位于java.lang.reflect.Method.invoke(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 原因:android.view.InflateException:二进制XML文件行#13: 膨胀类使用权限时出错 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 位于android.view.LayoutInflater.rInflate(LayoutInflater.java:813) 在android.view.LayoutInflater.inflate(LayoutInflater.java:511) 在android.view.LayoutInflater.充气(LayoutInflater.java:415) 在android.view.LayoutInflater.充气(LayoutInflater.java:366) 在 android.support.v7.app.AppCompateDelegateImplv9.setContentView(AppC
<uses-permission android:name="android.permission.INTERNET" />
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="23" />