gpt4 book ai didi

java - 在另一个 Activity 中启用/禁用 WebView

转载 作者:行者123 更新时间:2023-12-02 12:29:56 25 4
gpt4 key购买 nike

我想以这样的方式实现 WebView,它应该在一个 Activity 中实例化(以及加载 html),它不应该在第一页上可见,并且只有 webview 在另一个 Activity 中可见。我尝试过以下方法,但无法实现,以下是我的MainActivity

public class MainActivity extends Activity {

private WebView webView = null;
private Button startAppBtn = null;

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

createWebView();

startAppBtn = (Button) findViewById(R.id.button1);

startAppBtn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent(context, SecondActivity.class);
Bundle bundle = new Bundle();
intent.putExtra("state",bundle);
webView.saveState(bundle);
startActivity(intent);
}
});
}

public void createWebView(){
setWebView((WebView) findViewById(R.id.webview1));
getWebView().getSettings().setJavaScriptEnabled(true);
getWebView().getSettings().setDatabaseEnabled(true);
getWebView().getSettings().setLoadWithOverviewMode(true);

getWebView().setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY);
getWebView().setScrollbarFadingEnabled(false);
getWebView().loadUrl("file:///android_asset/My.html");
getWebView().setVisibility(View.GONE);
}

public WebView getWebView() {
return webView;
}

public void setWebView(WebView webView) {
this.webView = webView;
}
}

下面是 SecondActivity,

public class SecondActivity extends Activity{

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

Intent intent = getIntent();

WebView webview = (WebView) findViewById(R.id.webview1);//at this line I am getting exception, I think because webview is in activity_main layout.
webview.restoreState((Bundle) intent.getParcelableExtra("state"));
webview.getSettings().setJavaScriptEnabled(true);
webview.setVisibility(View.VISIBLE);
}
}

我是 Android 世界的新手,正在努力解决这个问题,请任何人都可以帮助我解决这个问题。

最佳答案

希望这有帮助

第一个 Activity

    startAppBtn = (Button) findViewById(R.id.button1);

startAppBtn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent(this, SecondActivity.class);
Bundle bundle = new Bundle();
bundle.putString("websiteURL", "file:///android_asset/My.html");
intent.putExtras(bundle);
startActivity(intent);
}
});

第二个 Activity

    String sWebsite;
Bundle bundle = getIntent().getExtras();
if (bundle != null)
{
sWebsite = bundle.getString("websiteURL");
}
else if (bundle== null)
{
System.out.println("Null");
}

WebView webView = (WebView) findViewById(R.id.webview1);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(sWebsite);
webView.setWebViewClient(new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
return false;
}
});

关于java - 在另一个 Activity 中启用/禁用 WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45327943/

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