片段中的接口方法在片段中重写后未得到调用

时间:2019-11-28 15:09:25

标签: android-fragments interface searchview android-tablayout

我有两个处于活动状态的片段。检测到SearchView搜索事件时,我想在另一个片段中执行操作。我的一个片段持有TabLayout,而当新的Tab为用新数据选择。接口代码写为

public interface OnSearchItem {
    void onSearchClick(String item);
}

FragmentA中带有TabLayout的接口实现

OnSearchItem mlistener;

    public void onSearchItemListener(OnSearchItem mlistener){
        this.mlistener=mlistener;
    } 

当检测到SearchView搜索事件时,以下代码将通过接口方法调用

执行
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
           @Override
           public boolean onQueryTextSubmit( String query) {
                mlistener.onSearchClick(query);
               return true;
           }

           @Override
           public boolean onQueryTextChange(String newText) {

               return true;
           }
       });

FragmentB实现此接口并将方法覆盖为

public class FragmentB extends Fragment implements OnSearchItem {

}
    @Override
    public void onSearchClick(String item) {
        Toast.makeText(getActivity().getApplicationContext(),item,Toast.LENGTH_SHORT).show();
    }

检测到SearchView搜索事件时,永远不会调用此重写方法。如何解决呢?

0 个答案:

没有答案