从 Parse 数据库获取字符串以在 WebView 中显示它

Getting a string from Parse database to display it in a WebView

我有一个 URL 存储在我的 Parse Dashboard 中,我正在尝试检索它然后将它添加到 webview 以显示其内容。

当我将检索到的 URL(作为字符串)添加到 toast 时,它运行良好。但是当我将它添加到 webview 时它永远不会工作。它只显示一个空白屏幕。

我在名为 "FavURL" 的仪表板中有一个 class,其中的列(键)是 (URL)。

这是我的代码:

public class View_Fav_PDF extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.view_fav_pdf);

            ParseQuery < ParseObject > query = ParseQuery.getQuery("FavURL");
            query.selectKeys(Arrays.asList("URL"));
            query.findInBackground(new FindCallback < ParseObject > () {
                @Override
                public void done(List < ParseObject > posts, ParseException e) {
                    if (e == null) {
                        List < String > postTexts = new ArrayList < > ();
                        for (ParseObject post: posts) {
                            postTexts.add(post.getString("URL"));
                        }
                        WebView webView = (WebView) findViewById(R.id.webview);
                        webView.getSettings().setJavaScriptEnabled(true);
                        webView.getSettings().setLoadWithOverviewMode(true);
                        webView.getSettings().setUseWideViewPort(true);

                        webView.loadUrl(
                        postTexts.toString());

                        Toast.makeText(View_Fav_PDF.this, postTexts.toString(), Toast.LENGTH_LONG).show();

                    } else {
                        Toast.makeText(View_Fav_PDF.this, "query error: " + e, Toast.LENGTH_LONG).show();
                    }

                }
            });

我想通了。

我只是将 WebView 代码移到 for 循环中并更改了它的变量

public class View_Fav_PDF extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.view_fav_pdf);

        ParseQuery<ParseObject> query = ParseQuery.getQuery("FavURL");
        query.selectKeys(Arrays.asList("URL"));
        query.findInBackground(new FindCallback<ParseObject>() {

            @Override
            public void done(List<ParseObject> posts, ParseException e) {

                if (e == null) {
                    List<String> postTexts = new ArrayList<>();
                    for(ParseObject post : posts){
                        postTexts.add(post.getString("URL"));

                        WebView webView = (WebView) findViewById(R.id.webview);
                        webView.getSettings().setJavaScriptEnabled(true);
                        webView.getSettings().setLoadWithOverviewMode(true);
                        webView.getSettings().setUseWideViewPort(true);

                        webView.loadUrl(
                                post.getString("URL"));
                    }

                    Toast.makeText(View_Fav_PDF.this, postTexts.toString(), Toast.LENGTH_LONG).show();
                }
                else {
                    Toast.makeText(View_Fav_PDF.this, "query error: " + e, Toast.LENGTH_LONG).show();

                }
            }
        });
    }