SearchView 搜索视图 是一种非常常见的可自定义的搜索框
简单使用
输入内容后点击搜索跳转到百度搜索页面,运用了一些 WebView 知识。
activity_main.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity">
<SearchView android:id="@+id/searchView" android:layout_width="match_parent" android:layout_height="wrap_content" android:queryHint="Search on Baidu" />
</LinearLayout>
|
MainActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public class MainActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
SearchView searchView = findViewById(R.id.searchView);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { Intent intent = new Intent(MainActivity.this, SearchActivity.class); intent.putExtra("queryString", query); startActivity(intent); return true; }
@Override public boolean onQueryTextChange(String newText) { return false; } }); } }
|
SearchActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| public class SearchActivity extends AppCompatActivity {
@SuppressLint("SetJavaScriptEnabled") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
WebView webView = new WebView(this);
Intent intent = getIntent(); String queryString = intent.getStringExtra("queryString"); Toast.makeText(this, "Searching for: " + queryString, Toast.LENGTH_SHORT).show();
webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setAllowFileAccess(true); webView.getSettings().setAllowContentAccess(true); webView.loadUrl("https://www.baidu.com/s?wd=" + queryString); setContentView(webView); } }
|