如何为意图设置OnclickListner
How to setOnclickListner for the intent
我想先在我的类中加载 url (google.com)。当进一步单击 link 时,它应该在 web_view.class 中打开。
如何正确设置 onclickListener 以传递意图?我是 android 的新手。我将非常感谢您的帮助。这是 myclass.java 代码。
public class myclass extends AppCompatActivity {
private WebView webView;
private ProgressBar progressBar;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
getSupportActionBar().hide();
webView = findViewById(R.id.webh);
progressBar = findViewById(R.id.progressBar);
CookieSyncManager.createInstance(this);
CookieManager.getInstance().setAcceptCookie(true);
this.webView.getSettings().setJavaScriptEnabled(true);
this.webView.setScrollbarFadingEnabled(false);
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
progressBar.setProgress(newProgress);
if (newProgress==100) {
progressBar.setVisibility(View.GONE);
}
}
});
this.webView.loadUrl("https://google.com");
Intent intent = new Intent(this, web_view.class);
String mUrl= "https:google.com";
intent.setData(Uri.parse(mUrl));
startActivity(intent);
}
}
您需要覆盖 WebViewClient
。
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading (WebView view,
WebResourceRequest request) {
Intent intent = new Intent(myclass.this, web_view.class);
intent.setData(request.getUrl());
startActivity(intent);
return true;
}
}
我想先在我的类中加载 url (google.com)。当进一步单击 link 时,它应该在 web_view.class 中打开。 如何正确设置 onclickListener 以传递意图?我是 android 的新手。我将非常感谢您的帮助。这是 myclass.java 代码。
public class myclass extends AppCompatActivity {
private WebView webView;
private ProgressBar progressBar;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
getSupportActionBar().hide();
webView = findViewById(R.id.webh);
progressBar = findViewById(R.id.progressBar);
CookieSyncManager.createInstance(this);
CookieManager.getInstance().setAcceptCookie(true);
this.webView.getSettings().setJavaScriptEnabled(true);
this.webView.setScrollbarFadingEnabled(false);
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
progressBar.setProgress(newProgress);
if (newProgress==100) {
progressBar.setVisibility(View.GONE);
}
}
});
this.webView.loadUrl("https://google.com");
Intent intent = new Intent(this, web_view.class);
String mUrl= "https:google.com";
intent.setData(Uri.parse(mUrl));
startActivity(intent);
}
}
您需要覆盖 WebViewClient
。
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading (WebView view,
WebResourceRequest request) {
Intent intent = new Intent(myclass.this, web_view.class);
intent.setData(request.getUrl());
startActivity(intent);
return true;
}
}