我尝试了很多次,以通过加载的webview网址更改按钮的不可见性。
仅当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();
}
}
}
答案 0 :(得分:0)
在Java中,当在两个对象上使用==时,您实际上并没有在比较字符串本身。您需要使用.equals(String)。
==实际上是比较两个对象的引用,而不是它们的值。
string1.equals(字符串目标)根据字符串中的实际字符比较两个字符串。
请用以下代码替换您的两个字符串比较代码:
if(url.equals("http://trscript.net/index.php")){
refresh.setVisibility(View.INVISIBLE);
}