java - 每次进行搜索查询时更改 TextView
问题描述
我试图让这段代码将在搜索视图中键入的任何内容显示为布局的文本视图中的文本。但是当我运行应用程序时,什么都没有显示。
public class MainActivity extends AppCompatActivity {
TextView textview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_search);
textview = (TextView) findViewById(R.id.search_result);
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.search_menu,menu);
SearchView searchView = (SearchView) menu.findItem(R.id.search_box).getActionView();
searchView.setQueryHint("Search Here");
searchView.setIconifiedByDefault(false);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener(){
@Override
public boolean onQueryTextSubmit(String search){
return false;
}
@Override
public boolean onQueryTextChange(String search){
String result= "You have searched for "+search;
textview.setText(result);
return false;
}
});
return super.onCreateOptionsMenu(menu);
}
}
我应该怎么做才能在 textview 中显示搜索字符串?
编辑
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/search_box"
android:title="search here"
android:icon="@android:drawable/ic_menu_search"
app:actionViewClass="android.widget.SearchView"
app:showAsAction="always"/>
</menu>
当我在搜索框中输入搜索查询时,它没有显示在布局的 textview 小部件上。
解决方案
您可能也有兴趣查看数据绑定以解决此问题:
https://developer.android.com/topic/libraries/data-binding/
从这个页面:
<TextView
android:text="@{viewmodel.userName}" />
推荐阅读
- javascript - 如何在 Promise.then 中访问范围外的变量(类似于闭包)
- jquery - jquery 在本地不起作用 - 菜鸟问题
- c# - 原始http请求解析
- android - 预计 Sqlite
我
sqlite
以这种形式写了一句话:String SQL_CREATE_BACKUP ="CREATE TABLE " +smsEntry.BACKUP +"(" +smsEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +smsEntry.BACKUP_LAST_MODE +" INTEGE
- php - 为什么我在 googleurl shotner api 中遇到禁止错误?
- javascript - 我在 laravel 中连接 vue.js 的路径
- javascript - 如何迭代和匹配来自两个不同大小数组的值,直到更长的数组用完?
- firebase - Vue init + Firebase init 创建了嵌套的 npm 包
- go - 如何解释这个地图语法?
- c - 为什么 IntelliSense 不能识别变量参数?