如何将Webview URL更改为另一个可以由用户远程或更改的URL

时间:2019-10-21 16:42:19

标签: android android-webview

我正在Android Studio中使用Java构建信息亭系统。我的应用中有一个Webview。但是我不希望它定向一个特定的URL。即使用户安装了URL,我也偶尔需要更改它。我不知道是否有可能,搜索了一段时间后也没有解决方案。

public class MainActivity extends AppCompatActivity {

    private WebView webView;

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

        webView = (WebView) findViewById(R.id.webview);
        webView.loadUrl("https://www.scholarscup.org");
        webView.getSettings().setLoadWithOverviewMode(true);
        webView.getSettings().setUseWideViewPort(true);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new MyBrowser());

    }

    private class MyBrowser extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }

    public void onBackPressed(){
        if(webView.canGoBack()){
            webView.goBack();
        }else{
            new AlertDialog.Builder(this)
                .setIcon(android.R.drawable.ic_dialog_alert)
                .setTitle("Exit!")
                .setMessage("Are you sure you want to close?")
                .setPositiveButton("Yes", new DialogInterface.OnClickListener()
                {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        finish();
                    }

                })
                .setNegativeButton("No", null)
                .show();
        }
    }
}

activity_main.xml

<WebView 
    xmlns:android="schemas.android.com/apk/res/android"
    xmlns:app="schemas.android.com/apk/res-auto" 
    xmlns:tools="schemas.android.com/tools"
    android:id="@+id/webview" 
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    tools:context=".MainActivity">
</WebView> 

1 个答案:

答案 0 :(得分:0)

如果要使其像浏览器一样,请使用EditText和Button搜索用户是否要输入网址,或者是否要使用网址,请使用handler.postDelay()在延迟时间后对其进行更改