Фрагмент Cardlib не отвечает при взаимодействии в навигационном ящике

80
7

У фрагмента, с которым я столкнулся, является использование CardListView из библиотеки Cardslib. Я добавил фрагмент динамически в контейнер, и все работает как ожидалось, за исключением того, что он не отвечает, когда он взаимодействует. Это означает, что он не прокручивается, я не могу нажать на любую из карт и что-то еще, связанное с проблемой.

Добавление фрагмента в контейнер в MainActivity:

@Override
protected void onCreate(Bundle savedInstanceState) {

// Code here...

NoteFragment nf = new NoteFragment();
// nf.setArguments(getIntent().getExtras());

FragmentTransaction tx = getFragmentManager().beginTransaction();
tx.add(R.id.container, nf);
tx.commit();
}

Заменяет фрагмент контейнера, когда навигационный ящик используется в MainActivity. Выбранный случай по умолчанию - NoteFragment.

@Override
public void onNavigationDrawerItemSelected(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch(position) {
case 0:
onSectionAttached(0);
fragment = new NoteFragment();
break;
case 1:
onSectionAttached(1);
fragment = new ArchiveFragment();
break;
case 2:
onSectionAttached(2);
fragment = new TrashFragment();
break;
}

FragmentTransaction tx = getFragmentManager().beginTransaction();
tx.replace(R.id.container, fragment);
tx.commit();
}

NoteFragment возвращает раздутый макет:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

// CardListView Code Here...

// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_note, container, false);
}

Контейнер XML (activity_main.xml):

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<!-- As the main content view, the view below consumes the entire
space available using match_parent in both dimensions. -->
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<!-- The drawer is given a fixed width in dp and extends the full height of
the container. -->
<fragment android:id="@+id/navigation_drawer"
android:layout_width="@dimen/navigation_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
android:name="com.example.NavigationDrawerFragment"
tools:layout="@layout/fragment_navigation_drawer" />

</android.support.v4.widget.DrawerLayout>

Фрагмент XML (фрагмент_note.xml):

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".fragments.NoteFragment">

<it.gmariotti.cardslib.library.view.CardListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="5dp"
android:id="@+id/CardList"/>

</FrameLayout>

Любая помощь приветствуется.

спросил(а) 2020-03-01T16:53:20+03:00 6 месяцев, 3 недели назад
1
Решение
81

Я починил это! Часть кода Cardlib в onCreateView() была перенесена в onStart(), и она зафиксировала невосприимчивость.

ответил(а) 2020-03-01T17:14:42.917291+03:00 6 месяцев, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема