Tôi đang sử dụng WebView trong ứng dụng của mình, tôi có yêu cầu thay đổi tiêu đề ứng dụng dựa trên người dùng trang đang bật. Làm thế nào tôi có thể làm điều này trong Android WebView?Cách tải tiêu đề trang web đã tải trong Android WebView?
Tôi đã làm điều này trong iphone bằng cách làm theo dòng
self.title = [webPage stringByEvaluatingJavaScriptFromString:@"document.title"]
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Adds Progrss bar Support
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.webview);
// Makes Progress bar Visible
getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
mWebView = (WebView) findViewById(R.id.webview); //This is the id you gave
//to the WebView in the main.xml
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setSupportZoom(true); //Zoom Control on web (You don't need this
//if ROM supports Multi-Touch
mWebView.getSettings().setBuiltInZoomControls(true); //Enable Multitouch if supported by ROM
// Load URL
Bundle b = getIntent().getExtras();
String url = b.getString("url");
Log.d(TAG, "url " + url);
mWebView.loadUrl(url);
// Sets the Chrome Client, and defines the onProgressChanged
// This makes the Progress bar be updated.
mWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress){
//Make the bar disappear after URL is loaded, and changes string to Loading...
myActivity.setTitle("Loading...");
myActivity.setProgress(progress * 100); //Make the bar disappear after URL is loaded
// Return the app name after finish loading
if(progress == 100)
myActivity.setTitle(R.string.app_name);
}
});
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
// return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onLoadResource(WebView view, String url) {
// TODO Auto-generated method stub
super.onLoadResource(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
ImageView logoImageView = (ImageView)findViewById(R.id.logoimage);
logoImageView.setVisibility(View.GONE);
Log.d(TAG, "view.getTitle() " + view.getTitle());
myActivity.setTitle(view.getTitle());
}
});
}
Chắc chắn, không sao. Chỉ cần xem qua các liên kết tài liệu tôi đã đăng và bạn sẽ nắm bắt được những thứ bạn có thể làm với lớp WebView và WebViewClient. Nó có thể trông phức tạp lúc đầu nhưng nó cung cấp cho bạn rất nhiều tính linh hoạt. – DallaRosa
Điều này có hiệu quả, cảm ơn sự giúp đỡ. – Sam
tôi có thể đọc giá trị nhưng khi tôi đặt giá trị không hiển thị trong tiêu đề ứng dụng, tôi đã cập nhật câu hỏi với triển khai chế độ xem web của tôi.hãy giúp – Sam