javascript - 如何在 EditText 中显示当前 url - android studio

标签 javascript java android android-edittext

我正在尝试制作一个网络浏览器,但我面临一个问题,即我无法在 EditText 中显示当前 url。.从 Webview 显示当前 url。我怎样才能做到这一点。请告诉我应该在哪里放置代码以及需要放置什么代码。请帮助我。

这是我的代码:

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();
            }
        });

    }
}

最佳答案

试试这个

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) {

       }
  });

关于javascript - 如何在 EditText 中显示当前 url - android studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47628857/

相关文章:

java - 使用 Retrofit 时,当回复有时是对象有时是数组时,如何解析 JSON 回复?

java - 如何包含打包的 WSDL 以与使用 wsimport 生成的 Java 类一起使用?

单个 Activity 中的android多 View 寻呼机不显示第二个 View 寻呼机

android - 在 EditText 框中点击启动 Activity

javascript - 具有匹配索引值的两个数组,切换类

javascript - 如何将秒数转换为时间格式(YYYY :MM:DD HH:mm:ss) using moment. js

javascript - 当应用程序处于后台时,React Native setInterval 会暂停

javascript - 下划线 uniq 在 Parse 中不起作用

java - Apache Curator - Zookeeper 连接丢失异常,可能存在内存泄漏

android - 声明时图像未显示在 Activity 文件中