从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(); } } }); }更多推荐
发布评论