Tôi đoán điều gì đó thực sự đơn giản, có thể là cài đặt trong chế độ xem danh sách hoặc phân đoạn. Nhưng tôi không thể tìm thấy giải pháp cho nó trong vài giờ ngay bây giờ. Vì vậy .. Tôi có một ListView như thế nàynhấp vào phân đoạn gọi hoạt động đằng sau nó
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:isScrollContainer="true">
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fffafa"
/>
</RelativeLayout>
khi ai đó nhấp vào mục danh sách. Tôi thay thế nó bằng một đoạn như thế này
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.content, newFragment);
ft.addToBackStack(null);
ft.commit();
Nếu tôi nhấp vào mục trên danh sách, The whole list được thay thế bằng một đoạn (*) bao gồm một nút và và vài trường văn bản. Phân đoạn thay thế danh sáchXem đúng thông tin về mục đó. Khi tôi bấm lại nó đúng cách sẽ đưa khung nhìn danh sách trở lại.
Vấn đề là nếu tôi nhấp vào nền của * nó hoạt động như thể tôi sẽ bấm vào danh sách đằng sau nó .. và mang mảnh vỡ về mục đó lên phía trước. Tôi có thể nhấp vô tận trên nền để mang các mảnh khác. Tôi có thể quay lại danh sách bằng cách nhấp lại vào, quay lại ..
Tại sao đoạn này trong suốt? Làm thế nào tôi có thể sửa lỗi này?
làm cho cảm giác hoàn hảo Deev, cảm ơn bạn - sẽ cố gắng mà bây giờ – AndroidGecko
i redisgned nó để danh sách đó là một Fragment bắt đầu. Sau đó ghi đè obBackPressed để nó chặn việc lấy danh sách này ra khỏi backstack mảnh nếu (manager.getBackStackEntryCount() == 1) và nó hoạt động tốt. cảm ơn! – AndroidGecko
Tôi đã có cùng một vấn đề, nhưng với tất cả các mảnh. Tôi đã thêm đoạn của mình theo cùng cách thức mà ListView đã được thêm vào: thông qua xml. Tôi chuyển sang sử dụng FragmentManager để thổi phồng mảnh vỡ và bây giờ mọi thứ hoạt động. Vì vậy, vấn đề là bất cứ điều gì không được thêm vào bởi FragmentManager sẽ không được gỡ bỏ. –