从Parse数据库获取字符串以在WebView中显示它(Getting a string from Parse database to display it in a WebView)

编程入门 行业动态 更新时间:2024-10-21 17:38:08
从Parse数据库获取字符串以在WebView中显示它(Getting a string from Parse database to display it in a WebView)

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

当我将检索到的URL(作为字符串)添加到祝词中时,它完美地工作。 但是,当我将它添加到webview时,它无法工作。 它只显示一个空白屏幕。

我在名为“FavURL”的仪表板中有一个类,其中的列(Key)是(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(); } } });

I have a URL stored in my Parse Dashboard and I'm trying to retrieve it then add it to a webview to display its contents.

It is working perfectly when I add the retrieved URL (as a string) to a toast. But it never works when I add it to the webview. It only shows a blank screen.

I have a class in the dashboard named "FavURL" and the column (Key) in it is (URL).

This is my code:

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

最满意答案

我想到了。

我只是在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(); } } }); }

I figured it out.

I just moved the WebView code inside the for loop and changed the variable for it

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

更多推荐

本文发布于:2023-08-07 19:22:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1465564.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   数据库   Parse   WebView   display

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!