Search code examples
androidcardslib

Cardslib Fragment not responding when interacted in Navigation Drawer


The fragment I'm having problems with is using a CardListView from the Cardslib library. I added the fragment dynamically to the container and everything is working as expected, except it isn't responding when it is interacted with. This means it doesn't scroll, I can't press on any of the cards, and anything else related to the problem.

Adding fragment to container in 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();
}

Replaces container fragment when Navigation Drawer is used in MainActivity. Default case selected is 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 returning inflated layout:

@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);
}

Container 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>

Fragment XML (fragment_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>

Any help is appreciated.


Solution

  • I fixed it! The Cardslib piece of code in onCreateView() was moved to onStart(), and it fixed the unresponsiveness.