在默认浏览器而非Webview上打开链接

时间:2019-01-05 19:32:41

标签: android google-chrome webview external

我有下面的代码,但是我需要在外部浏览器而不是在webview上打开所有链接,该怎么做?

twitter = (WebView) findViewById(R.id.webView);
        twitter.setWebViewClient(new WebViewClient());
        twitter.getSettings().setJavaScriptEnabled(true);
        twitter.loadUrl(getResources().getString(R.string.web_url));
        twitter.refreshDrawableState();

1 个答案:

答案 0 :(得分:0)

使用final Map<Integer, Group> groupById = ... final ObservableList<Integer> groupIds = ... TableColumn<Group, Number> groupCol = new TableColumn<>("Group"); groupCol.setCellValueFactory(cd -> cd.getValue().groupProperty()); class GroupCell extends ListCell<Integer> { @Override protected void updateItem(Integer item, boolean empty) { super.updateItem(item, empty); Group group = groupById.get(item); if (empty || group == null) { setText(""); } else { setText(group.getName()); } } } groupCol.setCellFactory(col -> new TableCell<Group, Integer>() { private final ComboBox<Integer> comboBox = new ComboBox<>(groupIds); private final ChangeListener<Integer> listener = (o, oldValue, newValue) -> { Group group = (Group) getTableView().getItems().get(getIndex()); group.setGroup(newValue); }; { comboBox.setCellFactory(lv -> new GroupCell()); comboBox.setButtonCell(new GroupCell()); } @Override protected void updateItem(Number item, boolean empty) { super.updateItem(item, empty); if (empty || item == null) { setGraphic(null); } else { comboBox.valueProperty().removeListener(listener); setGraphic(comboBox); comboBox.setValue((Integer) item); comboBox.valueProperty().addListener(listener); } } }); 代替使用WebView打开浏览器,就像这样:

Intent