java—如何使用searchview.setonquerytextlistener实现从mainactivity到片段的函数

iklwldmw  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(159)

我想在mainactivity中调用函数loadrestaurantlist(),并使用((mainactivity)getactivity()).loadrestaurantlist()在片段中调用它;但当我启动片段时,我的应用程序就停止了。有人知道它为什么不起作用吗?在没有searchview的情况下将数据显示到recyclerview中没有问题。但是当我使用searchview和setonquerytextlister时,我的应用程序停止了工作。
//主活动.java
public void loadrestaurantlist(){

svrestaurant = (SearchView) findViewById(R.id.sv);
    rvrestaurant = (RecyclerView) findViewById(R.id.rv);

    svrestaurant.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            new Downloader(MainActivity.this, urlAddress, query, rvrestaurant).execute();
            return false;
        }

        @Override
        public boolean onQueryTextChange(String query) {
            new Downloader(MainActivity.this, urlAddress, query, rvrestaurant).execute();
            return false;
        }
    });
}

//restaurantfragment.java文件
公共类restaurantfragment扩展片段{

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.tab2preference, container, false);
    return rootView;
}

public void onStart(){
    super.onStart();

   ((MainActivity)getActivity()).loadRestaurantlist();

}

}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题