gpt4 book ai didi

android - 在 searchview android 中显示 url

转载 作者:行者123 更新时间:2023-11-29 01:13:43 25 4
gpt4 key购买 nike

我想在 SearchView 菜单项中显示 WebView 的当前 URL。我知道要获取 URL,我需要使用 WebView 方法 getUrl(),但我不知道如何显示它搜索查询后。

这是我的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);

MenuItem searchItem = menu.findItem(R.id.action_search);

final SearchView searchView = (SearchView)searchItem.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
String url = "https://www.google.com/search?q="+query;
PlaceholderFragment.mWebView.loadUrl(url);
searchView.clearFocus();
return true;
}

@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
return true;
}

另外,如何添加复制和粘贴此 URL 的功能?

最佳答案

你能用类似的东西吗?您将在 shouldOverrideUrlLoading 方法中获得用户更改的 url

PlaceholderFragment.mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView wView, String url)
{
searchView.setQuery(url, false);
wView.loadUrl(url);
return true;
}
});
final SearchView searchView = (SearchView)searchItem.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
String url = "https://www.google.com/search?q="+query;
PlaceholderFragment.mWebView.loadUrl(url);
searchView.clearFocus();
return true;
}

@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});

如果有任何问题,现在让我

更新

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();

int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
EditText editText = (EditText) searchView.findViewById(id);
}

菜单xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_search"
android:actionLayout="@layout/my_search_view"
android:actionViewClass="android.widget.SearchView"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="always"
android:title="Search" />
</menu>

现在,您可以使用该编辑文本了。这只是 searchview 的 hack ...

现在您可以通过点击 searchView 来执行 selectAll

editText.selectAll();

关于android - 在 searchview android 中显示 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41240541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com