[英]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.