При отладке другой проблемы я обнаружил, что метод onCreateView
одного из моих действий вызывается дважды. Я новичок в программировании и не совсем понимаю, как android
вызывает эти методы при загрузке активности, но мне кажется неправильным, что это будет вызываться дважды. Удалив большую часть своего кода, я все еще дважды вижу сообщение System.out
.
public class AddCourse extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_course);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new AddCourseFragment()).commit();
}
}
public static class AddCourseFragment extends Fragment {
View rootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_add_course,
container, false);
System.out.println("I see this TWICE!!!!");
return rootView;
}
}
}
Это почти то же самое, что и реализация моей основной активности, но она не проходит onCreateView
дважды. Мысли?
Был запрошен мой xml activity_add_course...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment android:name="com.NsouthProductions.gradetrackerpro.AddCourse$AddCourseFragment"
android:id="@+id/AddCourseFrag"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>