如何通过 webview current url 设置按钮可见性
How can I set button visibility by webview current url
我尝试了很多次通过加载的 webview 改变不可见按钮的可见性 url。
我只想在 url 等于“http://trscript.net/index.php”时设置不可见。
我打印了 url 并且它是“http://trscript.net/index.php”,但没有任何变化。
代码在这里;
public class MainActivity extends Activity {
Button refresh;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
refresh=findViewById(R.id.refresh);
myView = findViewById(R.id.web);
myView.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
myView.loadUrl("file:///android_asset/no.html");
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
@Override
public void onPageFinished(WebView view, String url) {
if(url=="http://trscript.net/index.php"){
refresh.setVisibility(View.INVISIBLE);
}
else{
refresh.setVisibility(View.VISIBLE);
}
dialog.dismiss();
}
}
}
在 java 中,当在两个对象上使用 == 时,您实际上并不是在比较字符串本身。你需要使用 .equals(String).
== 实际上比较的是两个对象的引用,而不是它们的值。
string1.equals(字符串目标)根据字符串中的实际字符比较两个字符串。
请用以下代码替换您的两个字符串比较代码:
if(url.equals("http://trscript.net/index.php")){
refresh.setVisibility(View.INVISIBLE);
}
我尝试了很多次通过加载的 webview 改变不可见按钮的可见性 url。
我只想在 url 等于“http://trscript.net/index.php”时设置不可见。 我打印了 url 并且它是“http://trscript.net/index.php”,但没有任何变化。
代码在这里;
public class MainActivity extends Activity {
Button refresh;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
refresh=findViewById(R.id.refresh);
myView = findViewById(R.id.web);
myView.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
myView.loadUrl("file:///android_asset/no.html");
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
@Override
public void onPageFinished(WebView view, String url) {
if(url=="http://trscript.net/index.php"){
refresh.setVisibility(View.INVISIBLE);
}
else{
refresh.setVisibility(View.VISIBLE);
}
dialog.dismiss();
}
}
}
在 java 中,当在两个对象上使用 == 时,您实际上并不是在比较字符串本身。你需要使用 .equals(String).
== 实际上比较的是两个对象的引用,而不是它们的值。
string1.equals(字符串目标)根据字符串中的实际字符比较两个字符串。
请用以下代码替换您的两个字符串比较代码:
if(url.equals("http://trscript.net/index.php")){
refresh.setVisibility(View.INVISIBLE);
}