【发布时间】:2016-09-01 19:06:37
【问题描述】:
我有两个片段。例如 Fragment A 和 Fragment B,随着 Activity 的启动,Fragment A 也会启动。现在我输入一些应该启动片段 B 的输入,它到达片段 B(执行其代码),但它继续显示片段 A。 可能出了什么问题?任何帮助将不胜感激。
homeScreenFragment = new HomeScreenFragment();
getFragmentManager().beginTransaction().add(R.id.home_layout, homeScreenFragment, "Home Page").
addToBackStack("Main Home Page").commit();
我在 MainActivity 类中运行这个片段,现在在 Searchview 中输入一些文本后,一个 AsyncTask 被执行并在它完成后我尝试运行另一个片段(如代码所示)。
public void SearchMovieTaskComplete(MovieDetails[] details) {
if(details!=null){
SearchResultFragment searchResultFragment= new SearchResultFragment();
Bundle data=new Bundle();
data.putSerializable("MovieDetail",details);
searchResultFragment.setArguments(data);
getFragmentManager().beginTransaction().replace(R.id.home_layout,searchResultFragment,"searchedResultCollected").commit();
}
}
【问题讨论】:
-
请提供您编写逻辑以显示片段 B 的代码
-
我添加了一些代码sn-ps,请看一下。
-
您是否检查过它是否在
details设置为null的情况下被调用?