0

バックエンドレスを使用しており、ディレクトリをリストビューに表示しようとしています。Androidスタジオを使用しています。

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

            }
        });

    }
}

エラーはありませんが、アプリが開きません。どうすればいいですか?

4

1 に答える 1

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);
        }

すべてを 1 行にまとめたくないので、アダプターはもう少し複雑になります。リスト アイテムのレイアウトを作成する必要があります。次に、いずれSimpleAdapterかを使用するか、拡張するカスタム クラスを作成し、BaseAdapterそれを使用してデータを表示する必要があります。

于 2016-02-21T20:13:10.533 に答える