2016-12-03 56 views
0
FATAL EXCEPTION: main 
java.lang.NullPointerException 
    at android.support.v7.widget.RecyclerView.computeVerticalScrollRange(RecyclerView.java:1545) 
    at android.view.View.onDrawScrollBars(View.java:11567) 
    at android.view.View.draw(View.java:13931) 
    at android.support.v7.widget.RecyclerView.draw(RecyclerView.java:3037) 
    at android.view.View.getDisplayList(View.java:12832) 
    at android.view.View.getDisplayList(View.java:12876) 
    at android.view.View.draw(View.java:13621) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:3037) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2901) 
    at android.view.View.getDisplayList(View.java:12827) 
    at android.view.View.getDisplayList(View.java:12876) 
    at android.view.View.draw(View.java:13621) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:3037) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2901) 
    at android.view.View.draw(View.java:13928) 
    at android.widget.FrameLayout.draw(FrameLayout.java:467) 
    at android.view.View.getDisplayList(View.java:12832) 
    at android.view.View.getDisplayList(View.java:12876) 
    at android.view.View.draw(View.java:13621) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:3037) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2901) 
    at android.view.View.getDisplayList(View.java:12827) 
    at android.view.View.getDisplayList(View.java:12876) 
    at android.view.View.draw(View.java:13621) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:3037) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2901) 
    at android.view.View.getDisplayList(View.java:12827) 

這是我的代碼無法在回收站視圖數據綁定Android中

public class testclass extends AppCompatActivity { 
    ArrayList<FlightAvilablityModel> flightAvilablityModelArrayList; 
    SoapSerializationEnvelope envelope; 
    private RecyclerView recyclerView; 
    JSONArray _jarArray; 
    JSONObject _JsonObject; 
    private FlightAvilablityAdapter mAdapter; 
    RecyclerView.LayoutManager mLayoutManager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.test); 
     recyclerView = (RecyclerView) findViewById(R.id.recycler_view); 
     new flightAvilblity().execute(); 


    } 


    class flightAvilblity extends AsyncTask<Void, Void, Void> { 
     @Override 
     protected Void doInBackground(Void... params) { 

      try { 


       SoapObject request = new SoapObject(Constant.NAME_SPACE, Constant.GET_FLIGHT_AVILABLITY_JSON); 

       request.addProperty("Origin", "del"); 
       request.addProperty("Destination", "pat"); 
       request.addProperty("frmdate", "2017-03-03"); 
       request.addProperty("todate", ""); 
       request.addProperty("adl", "1"); 
       request.addProperty("chd", "0"); 
       request.addProperty("inf", "0"); 
       request.addProperty("travelclass", "E"); 
       request.addProperty("travelmodeway", "one"); 


       envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
       envelope.dotNet = true; 
       envelope.setOutputSoapObject(request); 
       HttpTransportSE androidHttpTransport = new HttpTransportSE(Constant.URL); 
       androidHttpTransport.debug = true; 
       androidHttpTransport.call(Constant.NAME_SPACE + "/" + Constant.GET_FLIGHT_AVILABLITY_JSON, envelope); 
       String result = ((SoapObject) envelope.bodyIn).getProperty(0).toString(); 

       _jarArray = new JSONArray(result); 
       flightAvilablityModelArrayList = new ArrayList<>(); 
       for (int i = 0; i < _jarArray.length(); i++) { 
        FlightAvilablityModel avilablityModel = new FlightAvilablityModel(); 
        _JsonObject = _jarArray.getJSONObject(i); 
        avilablityModel.setFlightsegment_id(_JsonObject.getString("Flightsegment_id")); 
        avilablityModel.setImagefileName(_JsonObject.getString("ImagefileName")); 
        avilablityModel.setActualbasefare(_JsonObject.getString("actualbasefare")); 
        avilablityModel.setTax(_JsonObject.getString("tax")); 
        avilablityModel.setArrivalAirportCode(_JsonObject.getString("ArrivalAirportCode")); 
        avilablityModel.setArrivalDateTime(_JsonObject.getString("ArrivalDateTime")); 
        avilablityModel.setDepartureAirportCode(_JsonObject.getString("DepartureAirportCode")); 
        avilablityModel.setDepartureDateTime(_JsonObject.getString("DepartureDateTime")); 
        avilablityModel.setFlightNumber(_JsonObject.getString("FlightNumber")); 
        avilablityModel.setAdultFare(_JsonObject.getString("adultFare")); 
        avilablityModel.setClassType(_JsonObject.getString("timediff")); 

        flightAvilablityModelArrayList.add(avilablityModel); 
       } 


       Log.d("Response", result.toString()); 


      } catch (SoapFault e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (XmlPullParserException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (NullPointerException e) { 
       // TODO: handle exception 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 

      return null; 
     } 

     @Override 
     protected void onPostExecute(Void aVoid) { 
      super.onPostExecute(aVoid); 

      mAdapter = new FlightAvilablityAdapter(flightAvilablityModelArrayList); 
      LinearLayoutManager verticalLayoutmanager 
        = new LinearLayoutManager(testclass.this, LinearLayoutManager.VERTICAL, false); 
      recyclerView.setLayoutManager(verticalLayoutmanager); 
      recyclerView.setAdapter(mAdapter); 
      mAdapter.notifyDataSetChanged(); 
     } 
    } 


} 

我在flightAvilablityModelArrayList獲取數據在TestClass中所描述的,但是當我在onpost Execute方法將數據綁定,然後我得到的是我例外。我不知道爲什麼這個錯誤即將到來。

請指教我在哪裏做錯了!

+0

試圖改變自己的佈局管理器:LlayoutManager =新LinearLayoutManager(getActivity()); –

+0

你檢查flightAvilablityModelArrayList長度嗎? – sasikumar

+0

是的,我得到5長度@sasikumar –

回答

0

設置滾動條在RecyclerView

android:scrollbars="vertical" 

垂直在您檢查的gradle一旦你添加以下相關

dependencies { 
compile 'com.android.support:appcompat-v7:22.0.0' 
compile 'com.android.support:recyclerview-v7:22.0.0'  
} 
+0

我做了同樣的事情@sasikumar仍然是相同的錯誤 –

+0

然後嘗試一次recyclerView.setLayoutManager(新的LinearLayoutManager(recyclerView.getContext())); – sasikumar

相關問題