【发布时间】:2015-05-09 12:40:17
【问题描述】:
我有什么
1) 我有一个 Activity,里面有一个 ActionBar 和一个片段。 2)在这个片段中,我有一个 ViewPager 显示 3-4 个片段。 3)在每个fragment里面,都有一个不同的ListView。
我想要什么
我想在 ActionBar 中实现 ListView 过滤器。这不是问题,但我无法访问 ViewPager 内不同列表的各个适配器,ViewPager 位于 Fragment 内。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_file_hide_main, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
Fragment filesMain = getSupportFragmentManager().findFragmentByTag("FILES_MAIN");
ViewPager viewPager = (ViewPager) filesMain.getView().findViewById(R.id.filesViewPager);
if(viewPager.getAdapter() == null)
Log.d("TAG", ADAPTER IS NULL");
SearchView.OnQueryTextListener textChangeListener = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
// this is your adapter that will be filtered
//adapter.getFilter().filter(newText);
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
// this is your adapter that will be filtered
//adapter.getFilter().filter(query);
return true;
}
};
searchView.setOnQueryTextListener(textChangeListener);
return true;
}
适配器始终为空,当用户滑动时,我也无法获取所有 ListView 的适配器。
请帮忙解决一下。
【问题讨论】:
-
您在最初设置时没有对视图寻呼机适配器的引用吗?
-
ViewPager 在 Fragment 内部,但 onCreateOptionsMenu 在 Activity 内部。
标签: android-fragments android-listview android-viewpager android-adapter searchview