Мое приложение основано на макете с вкладками, где каждой вкладке назначается FragmentActivity.
Одно из этих действий имеет следующий макет:
<FrameLayout
android:id="@+id/filialenView"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:layout_height="wrap_content" android:id="@+id/filialList"
android:layout_width="fill_parent"></ListView>
</FrameLayout>
При переключении на эту вкладку создается списоки показаны.
Если выбран элемент списка, фрагмент создается и отображается в верхней части списка:
Filiale fragment = new Filiale();
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.filialenView, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
Макет "filial_detail.xml" для фрагмента Filiale выглядит как
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
... content...
</LinearLayout>
и накачивается в onCreateView следующим образом
View curView = inflater.inflate(R.layout.filial_detail, container, false);
Все работает, как и ожидалось, за исключением того, что после переключения на фрагмент видимый видимый список, кажется, сохраняет фокус ввода.Если я коснусь экрана в какой-то «пустой» области, то появится скрытый элемент списка за фрагментом.Кроме того, если я проведу пальцем по экрану, из вывода LogCat можно увидеть, что список прокручивается.
Исходя из моего понимания FrameLayout, все в порядке, чтобы складывать представления таким образом.
Что не так с этим кодом?
Поскольку пока нет ответа или комментария, более общий вопрос:
Есть ли известная ситуация, когда представление в фоновом режиме должно получать ввод илиэто неправильное поведение в любом случае?