gpt4 book ai didi

android - 来自另一个类的 Webview.loadurl

转载 作者:行者123 更新时间:2023-11-29 01:39:38 25 4
gpt4 key购买 nike

我的 WebView 是这样设置的

public class Webview extends Activity {

private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final ProgressDialog pd = ProgressDialog.show(this, "", "Chargement en cours", true);
setContentView(R.layout.activity_webview);
webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient()
{
public void onPageFinished(WebView view, String ur){
pd.dismiss();
}
});



String url = getIntent().getStringExtra("url");


}

我还有一个类似的 MainActivity 类

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void ButtonOnClick(View v) {
Intent intent = new Intent (MainActivity.this, Webview.class);
switch(v.getId()) {

case R.id.button1:
intent.putExtra("url", "http://www.google.fr");
break;
case R.id.button2:
intent.putExtra("url", "http://www.orange.fr");
break;

//and so on....

}
startActivity(intent);
}

这是主要 Activity 布局的摘录:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:id="@+id/frontpage_view"
android:tag="front"
>

<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="150dp"
android:paddingRight="10dp"
android:orientation="horizontal" >

<Button
android:id="@+id/button1"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:drawableTop="@drawable/actualites"
android:onClick="ButtonOnClick"
android:text="Actualités"
android:textColor="#fff"
android:textSize="12sp"
android:textStyle="bold"
android:typeface="normal"
android:background="@null"
/>

<Button
android:id="@+id/button2"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:drawableTop="@drawable/agenda"
android:text="Agenda"
android:onClick="ButtonOnClick"
android:textColor="#fff"
android:textSize="12sp"
android:textStyle="bold"
android:typeface="normal"
android:layout_marginRight="15dp"
android:background="@null" />

我收到消息 webview 无法解析,我是否也需要在 themainactivity 中声明 webview ?我该怎么做?

最佳答案

您正在尝试访问不在 MainActivity.java 中的 webview。所以你收到了这个错误。单击按钮时你应该做的是:

  1. 将 url 根据 intent 中点击的按钮传递给 Webview.java
  2. 在第二个 Activity 中相应地在 webview 中加载 url。

根据点击的按钮传递 url:

switch(v.getId()) {


case R.id.button1:
Intent intent = new Intent (MainActivity.this, Webview.class);
intent.putExtra("url", "http://www.google.fr");
startActivity(intent);
break;
case R.id.button2:
Intent intent = new Intent (MainActivity.this, Webview.class);
intent.putExtra("url", "http://www.google.fr");
startActivity(intent);
break;

//and so on....

}

在你的 Webview.java 中:

setContentView(R.layout.activity_webview);
final ProgressDialog pd = ProgressDialog.show(this, "", "Chargement en cours", true);
webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
String url = getIntent().getStringExtra("url");
webView.setWebViewClient(new WebViewClient(){

@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
});
webView.loadUrl(url);

希望这是清楚的。

关于android - 来自另一个类的 Webview.loadurl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25602655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com