0

I am simply trying to show a fragments recyclerView inside it's parent activity. The data is there but nothing is showing up. Any thoughts? Here is PagerAdapter, parent and fragment classes with xmls so that all the parts are available to see. I want the RV to fit right here between the CardView and comment line. Thanks for any help!

ViewPager RV in Parent Activity

PagerAdapter

public class DropPagerAdapter extends FragmentPagerAdapter{

final int PAGE_COUNT = 2;
private String tabTitles[] = new String[] { "Comments", "Riples"};
private Context context;

public DropPagerAdapter(FragmentManager fm, Context context) {
    super(fm);
    this.context = context;
}

@Override
public int getCount() {
    return PAGE_COUNT;
}

@Override
public Fragment getItem(int position) {
    return CommentFragment.newInstance(position + 1);
}

@Override
public CharSequence getPageTitle(int position) {
    // Generate title based on item position
    return tabTitles[position];
}
}

Fragment.java

public class CommentFragment extends Fragment {

public static final String ARG_PAGE = "ARG_PAGE";

private int mPage;
private String mDropObjectId;
private String mAuthorId;
private String mAuthorRank;
private String mAuthorName;
private String mAuthorFacebookId;
private String mDropDescription;
private String mRipleCount;
private String mCommentCount;
private Date mCreatedAt;
private String mTabName;
private RecyclerView mRecyclerView;
private TextView mViewDropEmptyView;
private ArrayList<CommentItem> mCommentList;
private CommentAdapter mCommentAdapter;

public static CommentFragment newInstance(int page) {
    Bundle args = new Bundle();
    args.putInt(ARG_PAGE, page);
    CommentFragment fragment = new CommentFragment();
    fragment.setArguments(args);
    return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mPage = getArguments().getInt(ARG_PAGE);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_comment, container, false);

    mRecyclerView = (RecyclerView) view.findViewById(R.id.comment_recycler_view);
    mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

    mViewDropEmptyView = (TextView) view.findViewById(R.id.comment_empty_view);

    Intent intent = getActivity().getIntent();
    mDropObjectId = intent.getStringExtra("dropObjectId");
    mAuthorId = intent.getStringExtra("authorId");
    mAuthorRank = intent.getStringExtra("authorRank");
    mAuthorName = intent.getStringExtra("commenterName");
    mAuthorFacebookId = intent.getStringExtra("authorFacebookId");
    mDropDescription = intent.getStringExtra("dropDescription");
    mRipleCount = intent.getStringExtra("ripleCount");
    mCommentCount = intent.getStringExtra("commentCount");
    mCreatedAt = (Date) intent.getSerializableExtra("createdAt");
    mTabName = intent.getStringExtra("mTabName");

    loadCommentsFromParse();

    return view;
}

public void loadCommentsFromParse() {
    final ArrayList<CommentItem> commentList = new ArrayList<>();

    final ParseQuery<ParseObject> query = ParseQuery.getQuery("Comments");
    query.whereEqualTo("dropId", mDropObjectId);
    query.orderByDescending("createdAt");
    query.include("commenterPointer");
//        query.setLimit(25);

    query.findInBackground(new FindCallback<ParseObject>() {
        @Override
        public void done(List<ParseObject> list, ParseException e) {

            if (e != null) {
                Log.d("KEVIN", "error error");

            } else {
                for (int i = 0; i < list.size(); i++) {

                    final CommentItem commentItem = new CommentItem();

                    ParseObject commenterData = (ParseObject) list.get(i).get("commenterPointer");

                    //Commenter data////////////////////////////////////////////////////////////
                    ParseFile profilePicture = (ParseFile) commenterData.get("parseProfilePicture");
                    if (profilePicture != null) {
                        profilePicture.getDataInBackground(new GetDataCallback() {

                            @Override
                            public void done(byte[] data, ParseException e) {
                                if (e == null) {
                                    Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);
//                                            Bitmap resized = Bitmap.createScaledBitmap(bmp, 100, 100, true);
                                    commentItem.setParseProfilePicture(bmp);
                                    updateRecyclerView(commentList);
                                }
                            }
                        });
                    }


                    //CommenterId
                    commentItem.setCommenterId(commenterData.getObjectId());

                    //Commenter Name
                    commentItem.setCommenterName((String) commenterData.get("displayName"));

                    //Rank
                    commentItem.setCommenterRank((String) commenterData.get("userRank"));

                    //Comment Data/////////////////////////////////////////////////////////////
                    // DropId
                    commentItem.setDropId(list.get(i).getString("dropId"));

                    //Comment
                    commentItem.setCommentText(list.get(i).getString("commentText"));

                    //Date
                    commentItem.setCreatedAt(list.get(i).getCreatedAt());

                    commentList.add(commentItem);
                }

                Log.i("KEVIN", "Comment list size: " + commentList.size());

            }
        }
    });
}

private void updateRecyclerView(ArrayList<CommentItem> comments) {

    if (comments.isEmpty()) {
        mRecyclerView.setVisibility(View.GONE);
        mViewDropEmptyView.setVisibility(View.VISIBLE);
    }
    else {
        mRecyclerView.setVisibility(View.VISIBLE);
        mViewDropEmptyView.setVisibility(View.GONE);
    }

    mCommentAdapter = new CommentAdapter(getActivity(), comments);
    ScaleInAnimationAdapter scaleAdapter = new ScaleInAnimationAdapter(mCommentAdapter);
    mRecyclerView.setAdapter(new AlphaInAnimationAdapter(scaleAdapter));
    mRecyclerView.setAdapter(mCommentAdapter);
}
}

Fragment XML

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

<android.support.v7.widget.RecyclerView
    android:id="@+id/comment_recycler_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/Primary_Background_Color"
    />

<TextView
    android:id="@+id/comment_empty_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="bottom|center_horizontal"
    android:visibility="visible"
    android:text="Post a comment on this Drop!"
    android:textSize="18sp"
    android:textStyle="italic"
    android:foregroundGravity="center"
    android:paddingBottom="200dp"
    android:textAlignment="center"/>

Parent XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            xmlns:card_view="http://schemas.android.com/apk/res-auto"
            xmlns:app="http://schemas.android.com/tools"
            android:background="@color/Primary_Background_Color"
            android:orientation="vertical"
            android:weightSum="1">


<android.support.v7.widget.CardView
    android:id="@+id/card_view_drop"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    card_view:cardCornerRadius="2dp"
    card_view:cardElevation="2dp"
    card_view:cardUseCompatPadding="true"
    android:layout_marginBottom="4dp"
    android:layout_marginTop="4dp"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:background="#FFFFFF"
    card_view:cardPreventCornerOverlap="false"
    >

    <android.support.design.widget.TabLayout
        android:id="@+id/sliding_tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabMode="scrollable"
        android:layout_gravity="bottom"/>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="0px"
        android:layout_weight="1"
        android:background="@android:color/white"/>

    <RelativeLayout
        android:id="@+id/click_layout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="8dp"
        android:background="@drawable/custom_bg">

        <android.support.v7.widget.Toolbar
            android:id="@+id/trickle_card_tool_bar"
            android:layout_width="match_parent"
            android:layout_height="55dp"
            android:background="#BBDEFB"
            />

        <ImageView
            android:id="@+id/profile_picture"
            android:layout_width="65dp"
            android:layout_height="65dp"
            android:layout_marginTop="8dp"
            android:layout_marginLeft="8dp"
            android:scaleType="centerCrop"
            android:src="@drawable/ic_user_default"
            android:background="@drawable/custom_bg"/>

        <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/profile_picture"
            android:width="50dp"
            android:text="Kevin Hodges"
            android:textAlignment="center"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="16sp"
            android:textColor="#000000"
            android:singleLine="true"
            android:layout_alignTop="@+id/profile_picture"
            android:layout_marginLeft="8dp"
            android:layout_marginTop="4dp"
            android:layout_toStartOf="@+id/menu_button"
            android:layout_toLeftOf="@+id/menu_button"
            android:background="@drawable/custom_bg_blue"
            android:clickable="true"
            android:textStyle="bold"/>

        <TextView
            android:id="@+id/comment_created_at"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="September 18, 2015 @ 3:32 p.m."
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="10sp"
            android:singleLine="true"
            android:background="@drawable/custom_bg"
            android:gravity="left"
            android:layout_alignBottom="@+id/profile_picture"
            android:layout_alignRight="@+id/menu_button"
            android:layout_alignEnd="@+id/menu_button"
            android:layout_toRightOf="@+id/profile_picture"
            android:layout_marginLeft="8dp"
            />

        <TextView
            android:id="@+id/description"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:enabled="true"
            android:focusable="false"
            android:maxLines="5"
            android:paddingLeft="8dp"
            android:paddingRight="8dp"
            android:singleLine="false"
            android:text="Description"
            android:layout_below="@+id/profile_picture"
            android:textColor="@color/PrimaryText"
            android:textSize="14sp"
            android:layout_marginLeft="4dp"
            android:layout_marginRight="4dp"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="32dp"
            android:background="@drawable/custom_bg"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/menu_button"
            android:layout_marginLeft="8dp"
            android:src="@drawable/menu_svg"
            android:layout_alignBottom="@+id/trickle_card_tool_bar"
            android:layout_marginBottom="16dp"
            android:background="@drawable/custom_bg_blue"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="2dp"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="&quot;Mother Teresa&quot;"
            android:id="@+id/author_rank"
            android:textSize="14sp"
            android:singleLine="false"
            android:gravity="left|center_vertical|center_horizontal"
            android:layout_alignLeft="@+id/name"
            android:layout_alignStart="@+id/name"
            android:textStyle="italic"
            android:layout_below="@+id/name"
            android:layout_alignBottom="@+id/trickle_card_tool_bar"
            android:textColor="#7d000000"
            android:layout_toStartOf="@+id/menu_button"
            android:layout_marginTop="-4dp"
            android:layout_toLeftOf="@+id/menu_button"/>


    </RelativeLayout>
</android.support.v7.widget.CardView>

<AutoCompleteTextView
    android:id="@+id/enter_comment_text"
    android:layout_width="235dp"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignTop="@+id/button_post_comment"
    android:layout_toLeftOf="@+id/button_post_comment"
    android:layout_toRightOf="@+id/post_comment_profile_picture"
    android:layout_toStartOf="@+id/button_post_comment"
    android:background="#ffffff"
    android:hint="@string/write_comment_hint"
    android:inputType="textCapSentences|textAutoComplete|textAutoCorrect|text"
    android:maxLength="250"
    android:paddingLeft="8dp"/>

<ImageView
    android:id="@+id/post_comment_profile_picture"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:foregroundGravity="center_vertical"
    android:scaleType="centerCrop"
    android:src="@drawable/ic_user_default"/>

<Button
    android:id="@+id/button_post_comment"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_marginTop="10dp"
    android:width="50dp"
    android:background="@color/AccentColor"
    android:text="Post"
    android:textColor="#ffffff"/>

Kevin Hodges
  • 55
  • 2
  • 9
  • 1
    Give some height to viewpager. I think relative layout won't support layout_weight property. Give some height and check once. – Harish_N Jan 02 '16 at 04:19
  • @Harish_N You were exactly right. Submit as answer so I can upvote. Thanks! – Kevin Hodges Jan 05 '16 at 01:19
  • @Harish_N This works in v-21, however, in pre lollipop the Slidertab is not showing up at all. Any idea why that would be? – Kevin Hodges Jan 05 '16 at 01:33
  • Try to use SlidingTabLayout instead of TabLayout. http://stackoverflow.com/questions/26803835/slidingtablayout-to-fit-the-screen – Harish_N Jan 05 '16 at 04:14

0 Answers0