2016-08-05 28 views
-5
protected void onPostExecute(String result) { 
     super.onPostExecute(result); 
     try 
     { 
      float number; 
      Integer pageno=0; 
      list=new ArrayList<HashMap<String, String>>(); 
      listhdr=new ArrayList<HashMap<String, String>>(); 
      JSONArray jsonarray = new JSONArray(result); 

      if(jsonarray.length()>1000) 
      { 
       /* number=jsonarray.length()/1000; 
       if(number>1.0) 
       { 
        pageno=(int)+0.99f; 

       }*/ 
       pageno=500; 
       Toast.makeText(getApplicationContext(),"PageNo1: "+ pageno.toString(),Toast.LENGTH_LONG).show(); 
      } 

      else 
      { 
       pageno=jsonarray.length(); 
       Toast.makeText(getApplicationContext(),"PageNo2: "+ pageno.toString(),Toast.LENGTH_LONG).show(); 
      } 

       for (int i = 0; i < pageno; i++) { 
        JSONObject jsonobj = jsonarray.getJSONObject(i); 
        String EntryDate = jsonobj.getString("EntryDate"); 
        String Ourrefno = jsonobj.getString("Ourrefno"); 
        String Buyer = jsonobj.getString("buyer"); 
        String Styleno = jsonobj.getString("Styleno"); 

1.I有JSON數組有超過7000 values.so好心幫我解決這個問題
2.I將顯示在頁面format.so這些元素我想分別分成500個。如何得到第一個100的JSONObject從jsonarray Android中

+1

只需你有在獲取數據時在您的for循環中放置100個限制 –

+0

我已經嘗試過。但由於呈現問題,無法獲取超過1000個值..任何替代解決方案嗎? –

+0

也許你的json不正確?問題究竟在哪裏?這個問題是不清楚的.... –

回答

-2

使用rxJava,花花公子。 更好地與改造2.0一起使用。在更新接口

方法應該是這樣:

@Get("url") 
Observable<ArrayList<MyPojo>> getPojos(); 

和主要電話會像:

  api.getPojos() 
       .subscribeOn(Schedulers.newThread()) 
       .observeOn(AndroidSchedulers.mainThread()) 
       .take(100) 
       .subscribe(new Subscriber... 
          @Override 
          onNext(ArrayList<MyPojo> pojos){ 
            //here you pojos.getSize() == 100 
           }); 

這只是示意性的,不如谷歌一些教程就像this.

+0

請加一些代碼 –

+0

謝謝老兄..我會試試.. –

相關問題