Ich entwickle Android-Web-Anwendung für eine Blog-ähnliche Website. Dafür zeige ich eine HTML-Seite, die eine Liste von Kategorien enthält, die beim Anklicken Artikel zu dieser Kategorie anzeigen.Kann ich beim Parsen von XML mit JavaScript den Fortschrittsdialog und die Fehlermeldung anzeigen?
Ich hole diese Artikel aus den RSS-Feeds der Website, die im XML-Format ist, und benutze JavaScript, um es auf der HTML-Seite anzuzeigen.
Dieser Prozess der Analyse von XML benötigt viel Zeit, um eine Seite zu laden. Während dieser Zeit bekomme ich leeren Bildschirm.Ich habe Fortschrittsdialog implementiert, der funktioniert, wenn Seite zum ersten Mal geladen wird, aber wenn XML analysiert wird JavaScript wird nicht angezeigt.
Hier ist, wie ich Prozessdialog implementiert. Activity.java:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_PROGRESS,
Window.PROGRESS_VISIBILITY_ON);
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.setBackgroundColor(0);
final ProgressDialog progressDialog = new ProgressDialog(activity);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMessage("Loading...please wait");
progressDialog.setCancelable(true);
webview.setWebViewClient(new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
});
webview.loadUrl("file:///android_asset/HomePage.html");
// WebChromeClient give progress etc info
webview.setWebChromeClient(new WebChromeClient()
{
public void onProgressChanged(WebView view, int progress)
{
progressDialog.show();
progressDialog.setProgress(0);
activity.setProgress(progress * 1000);
progressDialog.incrementProgressBy(progress);
if (progress == 100 && progressDialog.isShowing())
progressDialog.dismiss();
}
});
}
- Wie kann ich zeigen, Fortschrittsdialog während XML wird durch JavaScript analysiert werden?
- Auch ich möchte eine Fehlermeldung anzeigen, wenn keine Internet-Konnektivität für die gleiche Sache ist ihre Möglichkeit, dies zu tun?
- Ich habe Call-Funktion als "Tel: Telefonnummer", die funktionierte, aber nachdem ich de öffentlichen boolean shouldOverrideUrlLoading funktioniert es nicht funktioniert? Was mache ich falsch?
Haben Sie AsyncTasks untersucht? Es hat einen schönen Fortschritt Updater Teil darin, der Ihnen helfen könnte http://developer.android.com/reference/android/os/AsyncTask.html Wie für die zweite Frage werfen Sie einen Blick auf diesen Beitrag http: // stackoverflow. com/questions/4086159/checking-internet-connection-on-android – Katana24