2016-02-21 15 views
0

我正在使用後端,我試圖在列表視圖中顯示我的目錄。我正在使用Android Studio。無後臺目錄的列表視圖

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Backendless.setUrl(Defaults.SERVER_URL); 
     Backendless.initApp(this, Defaults.APPLICATION_ID, Defaults.SECRET_KEY, Defaults.VERSION); 



     Backendless.Files.listing("/Uploads", "*docs", true, new AsyncCallback<BackendlessCollection<FileInfo>>() { 
      @Override 
      public void handleResponse(BackendlessCollection<FileInfo> fileInfoBackendlessCollection) { 
       Iterator<FileInfo> filesIterator = fileInfoBackendlessCollection.getCurrentPage().iterator(); 
       while (filesIterator.hasNext()) { 
        FileInfo file = filesIterator.next(); 
        String URL = file.getURL(); 
        String publicURL = file.getPublicUrl(); 
        Date createdOn = new Date(file.getCreatedOn()); 
        String name = file.getName(); 

        String[] info = {URL, publicURL, name}; 
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getListView().getContext(), android.R.layout.simple_list_item_1, info); 
        getListView().setAdapter(adapter); 

       } 
      } 

      @Override 
      public void handleFault(BackendlessFault backendlessFault) { 

      } 
     }); 

    } 
} 

它沒有錯誤,但應用程序無法打開。任何人都可以幫我做什麼?

回答

0

這是用於固定您的問題開始:

 @Override 
     public void handleResponse(BackendlessCollection<FileInfo> fileInfoBackendlessCollection) { 

      // create a list for your data 
      List<String> infoList = new ArrayList<>(); 

      Iterator<FileInfo> filesIterator = fileInfoBackendlessCollection.getCurrentPage().iterator(); 
      while (filesIterator.hasNext()) { 
       FileInfo file = filesIterator.next(); 
       String URL = file.getURL(); 
       String publicURL = file.getPublicUrl(); 
       Date createdOn = new Date(file.getCreatedOn()); 
       String name = file.getName(); 

       // put everything into one string temporarily 
       // String[] info = {URL, publicURL, name}; 
       String info = URL + " " + publicURL + " " + name; 
       infoList.add(info); 
      } 

      // loop through ALL your data before creating/assigning adapter 
      ArrayAdapter<String> adapter = new ArrayAdapter<String>(getListView().getContext(), android.R.layout.simple_list_item_1, infoList); 
      getListView().setAdapter(adapter); 
     } 

現在您的適配器是會得到一個稍微複雜些,因爲你不會希望有一個樣樣在行。您將需要爲列表項目創建佈局。然後,您需要使用SimpleAdapter或創建一個自定義類延伸BaseAdapter並使用它來顯示您的數據。

+0

它仍然是崩潰先生。謝謝你的快速反應。 –

+0

如果你在logcat中有一個堆棧跟蹤,請發佈它以幫助社區找出真正的錯誤。 –

+0

這是在我的logcat。我無法顯示我的logcat中的所有錯誤,因爲它太長了。 –