在 Android 应用程序中,我有两个片段:
带有项目ListView的片段
带有ImageView的片段
通过回调onListItemSelected,当用户点击一个ListView项时,MainActivity将ImageView推入栈中,带有图片的fragment出现在屏幕上。在这一点上,我希望,由于 ListView 片段不再可见,因此与该片段关联的任何事件都不再被触发。不是这种情况。如果我触摸 ImageView,ListView 项的侦听器仍然会触发。
两个问题:
有没有办法根据片段可见性自动启用/禁用侦听器?
如果没有,我猜要走的路是禁用 ListView 片段视图,然后在按下 backButton 时重新启用它。如何在 MainActivity 中捕获 backButton 事件以重新启用以前禁用的视图?
公共类 MainActivity 扩展 FragmentActivity 实现 ListViewFragment.Callbacks {
[...]
public void onListItemSelected(String str) { FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.addToBackStack(null); fragmentTransaction.replace(R.id.listView, f); fragmentTransaction.commit(); // disable listView //View lw = getSupportFragmentManager().findFragmentById(R.id.listView).getView().findViewById(R.id.my_listView); //lw.setEnabled(false); }