Java 列表片段没有消失
根据我的代码,每当我运行我的应用程序并单击列表项时,预期的片段确实会出现,但列表片段不会从视图中消失(请参见随附的屏幕截图)。要从用户视图中删除列表,需要做什么Java 列表片段没有消失,java,android,android-intent,android-fragments,android-fragmentactivity,Java,Android,Android Intent,Android Fragments,Android Fragmentactivity,根据我的代码,每当我运行我的应用程序并单击列表项时,预期的片段确实会出现,但列表片段不会从视图中消失(请参见随附的屏幕截图)。要从用户视图中删除列表,需要做什么 FragmentItem1 newFragment = new FragmentItem1(); FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.replace(R.id.
FragmentItem1 newFragment = new FragmentItem1();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.master_container, newFragment);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction.addToBackStack(null);
transaction.commit();
后退按钮方法
@Override
public void onBackPressed() {
if (mTwoPane) {
FragmentMainList newFragment = new FragmentMainList();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
// Replace whatever is in the master_container view with the above fragment
transaction.replace(R.id.master_container, newFragment);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
// Commit the transaction
transaction.commit();
}
}
假设“主容器”是与ListView相邻的布局,那么您当前观察到的是正确的行为。ListView不会自动消失
在ListView上调用设置可见性,使其消失。使用参数ListView.GONE用于此方法发布您的代码,以便修复错误。是的,很好,但文本不会出现在屏幕顶部,因此从技术上讲,列表片段仍然存在检查最新的屏幕截图。文本“this is item 1”在调用View.INVISIBLE后不会出现。我认为后面的内容,您可以覆盖onBackPressed。首先让它调用super方法,然后添加一行以再次调用setVisibility。这一次,传递ListView.Visible您没有在OnBackPressed中调用setVisibility。错误与您声明list_main的位置有关。如果您只是将其声明为类变量而不是方法变量,则应该解决该错误。