String url = "http://xxxx.com/login.php?UID=";
String uid = portal.mysharedvars.getString("uid");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_personel_activity);
/*if(newurl.toLowerCase().contains("index.php")) {
I want to do somethings here
}
*/
WebView siteview = (WebView) findViewById(R.id.personel_webview);
siteview.setWebViewClient(new MywebViewClient());
final String link = url+uid;
siteview.loadUrl(link);
}
private class MywebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url) {
// do your stuff here
String newurl = view.getUrl();
Toast.makeText(login_personel_webview.this, newurl, Toast.LENGTH_LONG).show();
}
如上所述,我在webview活动中使用onPageFinished public链接变量。我想在带有if语句的带星号的行中使用该变量。我怎么能在那里使用那个变量?
编辑:ofc链接不会像启动时声明的那样是静态的。 Tats只是登录页面。将会有很多页面。
答案 0 :(得分:0)
尝试通过回调
执行此操作String url = "http://xxxx.com/login.php?UID=";
String uid = portal.mysharedvars.getString("uid");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView siteview = (WebView) findViewById(R.id.personel_webview);
siteview.setWebViewClient(new MywebViewClient(new Callback() {
@Override
public void onPageUrl(String url) {
if (url.toLowerCase().contains("index.php")) {
//Do what you want here
}
}
}));
final String link = url+uid;
siteview.loadUrl(link);
}
private class MywebViewClient extends WebViewClient {
Callback callback;
public MywebViewClient(Callback callback) {
this.callback = callback;
}
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url) {
// do your stuff here
String newurl = view.getUrl();
callback.onPageUrl(newurl);
Toast.makeText(login_personel_webview.this, newurl, Toast.LENGTH_LONG).show();
}
}
public interface Callback {
void onPageUrl(String url);
}