摘要:我正在从一个活动发送文本,并将该文本放入另一个活动的SearchView
中。如何在不打开键盘的情况下使SeachView自动提交文本?
我尝试过的事情:
1) searchView.performClick();
在我的@Override protected void onCreate(Bundle savedInstanceState)
中没有任何作用
2),还有searchView.setQuery(dbn, true);
,它会将提交设置为true,但它也不执行任何操作。我也已经阅读了这篇文章,但这对我的问题没有帮助(Is it possible to pass search context data using the Search Widget (SearchView) only?)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sat);
// Gets text from first activity
String dbn = getIntent().getExtras().getString("dbn");
SearchView searchView = findViewById(R.id.searchID);
// sets text from first activity
searchView.setQuery(dbn, true);
// try to submit the text
searchView.performClick();
// clears the focus to prevent the keyboard from popping up
searchView.clearFocus();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener()
{
@Override
public boolean onQueryTextSubmit(String s) {
myadapter.getFilter().filter(s);
return true;
}
@Override
public boolean onQueryTextChange(String s) {
myadapter.getFilter().filter(s);
return true;
}
});
// json code ect...
}
预期结果和实际结果::我希望活动1的文本在隐藏键盘的同时在第二活动的SearchView中自动提交。实际发生的是将文本从活动1发送到活动2中的SearchView,只是它不会自动提交文本。
感谢您抽出宝贵时间阅读本文,也感谢您的帮助。谢谢!