Khi tôi gọi findFragmentById() với id của đoạn của tôi, nó trả về null. Hãy để tôi chỉ cho bạn mã.findFragmentById return null
Các activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment android:name="com.madduck.test.app.fragment.MainFragment"
android:id="@+id/main_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<fragment android:name="com.madduck.test.app.fragment.LoginFragment"
android:id="@+id/login_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Các MainActivity.java
private static final int LOGIN = 0;
private static final int MAIN = 1;
private static final int FRAGMENT_COUNT = MAIN +1;
private Fragment[] fragments = new Fragment[FRAGMENT_COUNT]
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager fm = getSupportFragmentManager();
fragments[LOGIN] = fm.findFragmentById(R.id.login_fragment);
fragments[MAIN] = fm.findFragmentById(R.id.main_fragment);
FragmentTransaction transaction = fm.beginTransaction();
for (Fragment f : fragments) {
if (f != null)
transaction.hide(f);
else
Log.e(TAG, "???");
}
transaction.commit();
}
Cái này là khi tôi gọi fm.findFragmentById(R.id.login_fragment);
tôi nhận được null nhưng khi tôi gọi fm.findFragmentById(R.id.main_fragment);
tôi nhận được mảnh .
bài viết nhật ký sự cố đầy đủ và đoạn mã của bạn – Libin
Cảm ơn cho câu trả lời nhanh chóng của bạn, tôi thấy giải pháp (đã sử dụng support.v4 trong một mảnh và loại bình thường trong một đoạn khác) Tôi không thể đăng giải pháp ngay bây giờ, bởi vì tôi không có 10 danh tiếng, nhưng sẽ tự trả lời vào ngày mai. Tôi tìm kiếm một chút trước và tôi không tìm thấy gì liên quan đến điều đó. – Kar0t
Tôi nghi ngờ đó có thể là vấn đề. Bất kỳ cách nào bạn tìm thấy nó. Tốt – Libin