我有一个扩展AppCompatActivity的Activity。而且在此活动中,我有一个像这样填充的ViewPager:
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new Tab1(), "Tab1");
adapter.addFragment(new Tab2(), "Tab2");
adapter.addFragment(new Tab3(), "Tab3");
viewPager.setAdapter(adapter);
}
在我的标签片段中,我有一个RecyclerView,其中某些库实现了多个选择。我想通过按硬件后退按钮来实现选择模式的关闭。
我在我的片段中有此功能:
public void closeSelectMode() {
if(mMultiSelector.isSelectable())
setSelection(mMultiSelector);
super.onBackPressed();
}
但是我不知道如何将此函数放在父活动onBackPressed()中。
我也尝试使用Fragment接口实现此功能,但是我不知道如何将onBackPressed函数中接口功能的实现放到父Activity中。
您可以通过以下方式覆盖Activity的onBackPressed:
@Override
public void onBackPressed() {
Fragment fragment = getFragmentManager().findFragmentById(R.id.fragment_name);
if (fragment instanceof YourFragment) {
YourFragment yourFragment = (YourFragment) fragment;
yourFragment.closeSelectMode();
} else {
super.onBackPressed();
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句