android - 无法从片段中的 SearchView.SearchAutoComplete onCreateView 获取文本
问题描述
在我的 FirstFragmentonCreateView()
方法中,我有以下元素:
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle bundle) {
initSearchView();
String selectedItem = search.getText().toString();
Log.d(TAG, "onCreateView " + selectedItem); //Always empty
}
如您所见,我调用initSearchView()
的方法如下所示:
private void initSearchView() {
SearchView searchView = rootView.findViewById(R.id.search);
search = searchView.findViewById(androidx.appcompat.R.id.search_src_text);
search.setOnItemClickListener((adapterView, view, position, id) -> {
Item Item = (Item) adapterView.getItemAtPosition(position);
search.setText(item.getItemName()); //Set item name
goToItemFragment(item.getItemName());
});
}
如您所见,一旦选择了一个项目,我就将该项目的名称设置为该search
对象。这很好用,因为我看到项目的名称放在了search中。
这是我用来转到 SecondFragment 的方法:
private void goToISecondFragment(String itemName) {
ActionFirstFragmentToSecondFragment action = actionFirstFragmentToSecondFragment();
action.setItemName(itemName);
Navigation.findNavController(rootView).navigate(action);
}
当我从 SecondFragment 回到 FirstFragment 时,问题就来了。即使我在搜索中看到选定的项目名称,当片段开始时,该日志语句始终为空,这意味着它在搜索中看不到该文本。
当我从 SecondFragment 返回到 FirstFragment 时,如何从搜索中获取可见的文本?谢谢
解决方案
推荐阅读
- android - Android Studio:如何将一个项目从 listview1 添加到 listview2 onClick
- ruby-on-rails - ADFS SAML 身份提供者重定向到状态为“响应者”的服务提供者
- autodesk-forge - Autodesk forge 令牌异常
- vba - 从 vba 访问表单获取 android 设备(例如手机、平板电脑...)中文件(例如图片)的路径
- react-native - 在反应本机项目的 gradle 文件夹中找不到包装器/dists
- amazon-web-services - 无法从 EC2 实例连接到负载均衡器
- xml - 在 Powershell 中删除具有重复 XML 元素的节点
- java - 可以声明一个类的 3 种不同的上下文是什么?
- css - CSS:如何剪辑一个 div
- c++ - Libcurl 在尝试从 FTP 下载时返回错误 7