android微调器加载json崩溃



我试图使用截击获取数组列表并将其显示在微调器中,但我的应用程序崩溃了。这是应用的主要活动

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) {

}

}

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>

这是logcat

01-10 11:29:25.226 12404-12404.com/example.shivadeeps.webservice
E/AndroidRuntime:致命异常:main流程:com.example.shivadeeps.webservice,PID:12404java.lang.RuntimeException:无法启动活动组件信息{com.example.shivadeeps.webservice.com/example.shivadeeps.webservices.MainActivity}:android.view.InflateException:二进制XML文件第13行:错误膨胀类使用权限在android.app.ActivityThread.performLaunchActivity(ActivityThreads.java:3190)在android.app.ActivityThread.handleLaunchActivity(ActivityThreads.java:3300)在android.app.ActivityThread.access$1000(ActivityThreads.java:211)在android.app.ActivityThread$H.handleMessage(ActivityThreads.java:1705)在android.os.Handler.dispatchMessage(Handler.java:102)在android.os.Looper.loop(Looper.java:145)在android.app.ActivityThread.main(ActivityThreads.java:6946)位于java.lang.reflect.Method.ioke(本机方法)位于java.lang.reflect.Method.ioke(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.inflature(LayoutInflater.java:511)在android.view.LayoutInflater.inflature(LayoutInflater.java:415)在android.view.LayoutInflater.inflature(LayoutInflater.java:366)在android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDeleateImplV9.java:284)在android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143)在com.example.shivadeeps.webservice.MainActivity.onCreate(MainActivity.java:40)在android.app.Activity.performCreate(Activity.java:6575)在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3143)在android.app.ActivityThread.handleLaunchActivity(ActivityThreads.java:3300)在android.app.ActivityThread.access$1000(ActivityThreads.java:211)在android.app.ActivityThread$H.handleMessage(ActivityThreads.java:1705)在android.os.Handler.dispatchMessage(Handler.java:102)在android.os.Looper.loop(Looper.java:145)在android.app.ActivityThread.main(ActivityThreads.java:6946)位于java.lang.reflect.Method.ioke(本机方法)位于java.lang.reflect.Method.ioke(Method.java:372)在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)网址:com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)导致原因:java.lang.ClassNotFoundException:找不到类路径上的"android.view.users-permission":DexPathList[[zip文件"/data/app/com.example.shivadeeps.webservice-2/base.apk"],nativeLibraryDirectories=[/vendor/lib,/system/lib]]在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)位于java.lang.ClassLoader.loadClass(ClassLoader.java:511)位于java.lang.ClassLoader.loadClass(ClassLoader.java:469)在android.view.LayoutInflater.createView(LayoutInflater.java:578)在android.view.LayoutInflater.onCreateView(LayoutInflater.java:672)在com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:65)在android.view.LayoutInflater.onCreateView(LayoutInflater.java:689)在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:748)在android.view.LayoutInflater.rInflate(LayoutInflater.java:813)在android.view.LayoutInflater.inflature(LayoutInflater.java:511)在android.view.LayoutInflater.inflature(LayoutInflater.java:415)在android.view.LayoutInflater.inflature(LayoutInflater.java:366)在android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDeleateImplV9.java:284)在android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143)在com.example.shivadeeps.webservice.MainActivity.onCreate(MainActivity.java:40)在android.app.Activity.performCreate(Activity.java:6575)在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3143)在android.app.ActivityThread.handleLaunchActivity(ActivityThreads.java:3300)在android.app.ActivityThread.access$1000(ActivityThreads.java:211)在android.app.ActivityThread$H.handleMessage(ActivityThreads.java:1705)在android.os.Handler.dispatchMessage(Handler.java:102)在android.os.Looper.loop(Looper.java:145)在android.app.ActivityThread.main(ActivityThreads.java:6946)位于java.lang.reflect.Method.ioke(本机方法)位于java.lang.reflect.Method.ioke(Method.java:372)在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)网址:com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)已抑制:java.lang.ClassNotFoundException:找不到类路径上的"android.view.users permission":DexPathList[[dex file"/data/data.com/example.shivadeeps.webservice/files/instant-run/dex/slice-support-annotations-25.0.1-485a49a20ae18735d596aaa75d964eacffc01e9a-classes.dex",dex文件"/data/data.com/example.shivadeeps.webservice/files/instant-run/dex/slice-sice_9-classes.dex",dex文件"/data/data.com/example.shivadeeps.webservice/files/instant-run/dex/slice-sice_8-classes.dex",dex文件"/data/data.com/example.shivadeeps.webservice/files/instant-run/dex/slice-sice_7-classes.dex",dex文件"/data/data.com/example.shivadeeps.webservice/files/instant-run/dex/slice-sice_6-classes.dex",dex文件"/data/data.com/example.shivadeeps.webservice/files/instant-run/dex/slice-sice_5-classes.dex",dex文件"/data/data.com/example.shivadeeps.webservice/files/instant-run/dex/slice-sice_4-classes.dex",dex文件"/data/data.com/example.shivadeeps.webservice/files/instant-run/dex/slice-sice_3-classes.dex",dex文件"/data/data.com/example.shivadeeps.webservice/files/instant-run/dex/slice-sice_2-classes.dex",dex文件"/data/data.com/example.shivadeeps.webservice/files/instant-run/dex/slice-sice_1-classes.dex",dex文件"/data/data/com.exa 01-10 11:29:25.231 2827-3392/?W/ActivityManager:强制完成活动1com.example.shivadeeps.webservice/.MainActivity 01-10 11:29:25.2412827-3392/?D/InputDispatcher:重点应用程序设置为:xxxx 01-1011:29:25.311 12691-12691/?D/Mms/MmsApp:[start]initCountryIso消耗时间=103.6345 01-10 11:29:25.316 2827-3621/?D/CountryDetector:添加第一个侦听器01-10 11:29:25.32112691-12691/?D/Mms/MmsApp:[end]initCountryIso消耗时间=9.456961 01-10 11:29:25.416 2156-11978/?I/display:[PrimaryDisplay][DYNAMIC_RECOMP]GLES_2_HWC by BW check 01-10 11:29:25.43611562-11587/?I/Icing:索引7491238841BD1692167B469A759AF4A2F8E28FA8来自com.google.android.googlequicksearchbox 01-10 11:29:25.486 2827-3114/?E/看门狗:@同步5200[01-10 11:29:25.488]01-10 11:29:25.53112691-12691/?D/Mms/MmsConfig:[start]MmsConfig.init()consume时间=210.034154 01-10 11:29:25.546 2827-3392/?I/WindowManager:令牌{1ad8e437活动记录{3b472d36 u0的屏幕截图最大重试次数4com.example.shivadeeps.webservice/.MainActivity t440 f}}appWin=窗口{2e5a232f u0 d0正在启动com.example.shivadeeps.webservice}drawState=4 01-10 11:29:25.55112691-12691/?D/EasySignUpManager_1.15.0305:isAuth为false 01-1011:29:25.551 2827-12720/?E/android.os.Debug:ro.product_ship=true01-10 11:29:25.551 2827-12720/?E/android.os.Debug:ro.Debug_level=0x4f4c 01-10 11:29:25.556 12691-12691/?D/Mms/MmsConfig:getEasySignUpStatus sIsAuthEasySignUp=false,TelephonyUtils.getSimState(0)=1 01-10 11:29:25.556 2827-2852/?D/PhoneWindow:FMBinstallDecor mIsFloating:true 01-1011:29:25.556 2827-2852/?D/PhoneWindow:FMBinstallDecor标志:8519682 01-10 11:29:25.556 12691-12691/?D/EasySignUpManager_1.15.0305:服务ID:1,功能:-1 01-1011:29:25.556 12691-12691/?D/EasySignUpManager_1.15.0305:isAuth为false 01-10 11:29:25.556 12691-12691/?D/EasySignUpManager_1.15.0305:getServiceStatus:serviceId(1)关闭01-10 11:29:25.55612691-12691/?D/Mms/MmsConfig:setFreeMessageEnabled,getSupportedFeatures=-1 sIsAuthEasySignUp=falsesIsFreeMessageServiceStatus=false 01-10 11:29:25.556 12691-12691/?D/Mms/MmsConfig:加载调整大小质量:80 01-10 11:29:25.56112691-12691/?E/CscParser:mps_code.dat不存在01-1011:29:25.566 12691-12691/?E/CscParser:客户路径=/system/csc/customer.xml 01-10 11:29:25.566 12691-12691/?E/CscParser:fileName+/system/csc/customer.xml

请将其从xml 中删除

<uses-permission android:name="android.permission.INTERNET" />
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="23" />

并将它们添加到Manifest文件中。这将解决你的问题。权限总是添加在清单文件中,而不是XML文件中。

在代码spinner.setOnItemSelectedListener((AdapterView.OnItemSelectedListener) this);中检查这一行

您将click listener设置为"this",但您的活动没有实现"AdapterView.OnItemSelectedListener">

您的活动应该实现AdapterView。OnItemSelectedListener

最新更新