java - 如何为 Intent 设置 OnclickListner
问题描述
我想先在 myclass 中加载 url (google.com)。单击任何其他链接时,它应该在 web_view.class 中打开。如何正确设置 onclickListener 以传递意图?我是安卓新手。我将非常感谢您的帮助。这是 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;
}
}
推荐阅读
- .htaccess - htaccess 无法重写为正确的 URL
- oracle - 使用 jdbc 执行 Spark
- tcp - 找出 RTP 最大大小
- r - dateRangeInput、selectInput 和反应函数 R 闪亮
- amazon-cloudformation - 如何在 CloudFormation 中使用一个条目创建多个资源(只是名称不同)
- javascript - 如何在 typeorm 中指定 ormcofig.js
- rabbitmq - RabbitMQ 动态创建监听器
- angular - mat-tab 内的 mat-table 中的重复行
- postgresql - 如何加入每个组的填充值?
- javascript - 我怎样才能间隔地按顺序翻转卡片?