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

时间:2016-12-16 21:53:04

标签: java android parse-platform webview

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

当我将检索到的URL(作为字符串)添加到Toast时,它工作正常。但是当我将它添加到webview时它永远不会起作用。它只显示一个空白屏幕。

我在仪表板中有一个名为“FavURL”的类,其中的列(Key)是(URL)。

As shown in this image.

这是我的代码:

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

                }
            });

1 个答案:

答案 0 :(得分:0)

我明白了。

我刚刚在for循环中移动了WebView代码并为其更改了变量

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

                }
            }
        });
    }