简体   繁体   English

如何在EditText中显示当前URL-Android Studio

[英]How to show current url in EditText - android studio

I'm trying to make an web browser but I'm facing an problem that is i can't show current url in EditText..Showing currrent url from Webview. 我正在尝试制作一个Web浏览器,但遇到一个问题,即我无法在EditText中显示当前URL。显示来自Webview的当前URL。 How can i do this. 我怎样才能做到这一点。 please tell me where should i put code and what code i need to put. 请告诉我应该在哪里放置代码以及需要放置什么代码。 please help me. 请帮我。

Here my code: 这是我的代码:

public class MainActivity extends AppCompatActivity {

    WebView browser;
    EditText urlbox;
    Button go,forward,backward,refresh,clear;
    ProgressBar progressBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        browser= (WebView)findViewById(R.id.browser);
        urlbox = (EditText)findViewById(R.id.urlbox);
        go = (Button)findViewById(R.id.go);
        forward = (Button)findViewById(R.id.f);
        backward = (Button)findViewById(R.id.b);
        refresh = (Button)findViewById(R.id.r);
        clear = (Button)findViewById(R.id.c);
        progressBar = (ProgressBar) findViewById(R.id.progressbar);

        browser.setWebViewClient(new ourviewclient());


        browser.setWebChromeClient(new WebChromeClient(){
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                progressBar.setProgress(newProgress);
                if(newProgress == 100){
                    progressBar.setVisibility(view.GONE);
                }else {
                    progressBar.setVisibility(view.VISIBLE);
                }
            }
        });

        WebSettings javascript = browser.getSettings();
        browser.getSettings().setJavaScriptEnabled(true);



        go.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

               String editextvalue = urlbox.getText().toString();

               if(!editextvalue.startsWith("http://"))
                   editextvalue = "http://" + editextvalue;

               String url = editextvalue;

               browser.loadUrl(url);

               //for keyboard hide
                InputMethodManager keyboard = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                keyboard.hideSoftInputFromWindow(urlbox.getWindowToken(),0);
            }
        });

        forward.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (browser.canGoForward())
                    browser.goForward();
            }
        });

        backward.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (browser.canGoBack())
                    browser.goBack();
            }
        });

        refresh.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                browser.reload();
            }
        });

        clear.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                browser.clearHistory();
            }
        });

    }
}

Try this 尝试这个

browser.setWebViewClient(new WebViewClient() {    
      @Override
      public void onPageStarted(WebView view, String url, Bitmap favicon) {
           super.onPageStarted(view, url, favicon);

           // set here your URL in Your EditText
            urlbox.setText(url);    

       }    

       @Override
       public boolean shouldOverrideUrlLoading(WebView view, String url) {
           view.loadUrl(url);
           return true;
       }

       @Override
       public void onPageFinished(WebView view, String url) {

       }
  });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM