2

アセットフォルダから静的Webページをロードする必要があるWebviewがあります。Webページには、完全に機能するjavascript関数が含まれています。問題は、アクティビティが起動したときにWebページが表示されないことがよくあることです(多くの場合、表示されます。起動アクティビティにはWebビューが含まれています)

Webビューが読み込まれ、別のアクティビティに移動してから戻ってきたときに、そこにWebビューが再描画されない場合

protected override void OnCreate(Bundle bundle)
{
    base.OnCreate(bundle);

    actionBar.AddView(mainActionBar);
    formDialog.AddView(LayoutInflater.Inflate(Resource.Layout.googleGraphInWebview, null));

    formDialog.SetMinimumHeight(400);

    graph = FindViewById<WebView>(Resource.Id.graphView);
    list = FindViewById<ListView>(Resource.Id.AppointmentList); // get reference to the ListView in the layout

    appointments.Add(new AppointmentListItem("Appointment: Appointment with Spur Cresta", "Remember to meet with Mike regarding the cost sales!", Resource.Drawable.Icon));
    appointments.Add(new AppointmentListItem("Appointment: Jone's laundry needs to be collected", "Address: 12 Marry Street Roodepoort", Resource.Drawable.Icon));

    list.Adapter = new AppointmentListViewAdapter(this, appointments);
    list.ItemClick += AppointmentListClick;  // to be defined

    LinearLayout sideWidget = FindViewById<LinearLayout>(Resource.Id.SideWidget);
    sideWidget = FindViewById<LinearLayout>(Resource.Id.SideWidget);
    sideWidget.AddView(LayoutInflater.Inflate(Resource.Layout.LineItem, null));

    graph.Settings.JavaScriptEnabled = true;
    graph.SetWebViewClient(new webView(formDialog));
    graph.LoadUrl("file:///android_asset/graph.html");

}

手伝ってくれる?

A

4

1 に答える 1

2

したがって、本当の問題は、上記のすべてを実行するだけでなく、具体的に追加する必要があるということでした

graph.SetWebChromeClient(new WebChromeClient());
graph.SetWebViewClient(new webView(formDialog));

SetWebChromeClient (new WebChromeClient()); とても重要でした。

この行を追加した後、ページは毎回読み込まれました。瞬時に

A

于 2013-12-21T20:04:03.937 に答える