2012-03-12 7 views
1

私はカスタムアダプタを使用して、cwac-endlessアダプタの周りにラップしています。問題は、ラッピング条件が無視され、cacheInBackground()内のメソッドが無限に呼び出されていることです。私は関連するコードを添付しています。私にはこれのための解決策を提案してください。ありがとうございました。cwacエンドレスアダプタの周りにカスタムアダプタをラップする際にエラーが発生しました

@Override 
     protected boolean cacheInBackground() { 
      SystemClock.sleep(100);  // pretend to do work 


      try { 
      msg=getMsgs(); 
     } catch (ClientProtocolException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (ParserConfigurationException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (SAXException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
      Log.d("count", " "+ getWrappedAdapter().getCount()); 
      return(getWrappedAdapter().getCount()<100); 
     } 

     @Override 
     protected void appendCachedData() { 
      if (getWrappedAdapter().getCount()<100) { 
      @SuppressWarnings("unchecked") 
     MsgAdapter a=(MsgAdapter)getWrappedAdapter(); 


      for(String s:msg) 
      { 
       Log.d("msg", s); 
      } 

      } 
     } 
     } 

答えて

0

私のカスタムアダプターのgetCount()のロジックとの関係を修正しました。それを修正することで、コードは完全に機能しました。