Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 07-28 16:25:26.915 24815-24815/com.rnrapps.user.dtuguide E/RecyclerView: No adapter attached; skipping layout
- 07-28 16:25:26.923 24815-24815/com.rnrapps.user.dtuguide D/AndroidRuntime: Shutting down VM
- 07-28 16:25:27.179 24815-24815/com.rnrapps.user.dtuguide E/AndroidRuntime: FATAL EXCEPTION: main
- Process: com.rnrapps.user.dtuguide, PID: 24815
- java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.support.v7.widget.RecyclerView$LayoutManager.canScrollVertically()' on a null object reference
- at android.support.v7.widget.RecyclerView.computeVerticalScrollRange(RecyclerView.java:1581)
- at android.view.View.onDrawScrollBars(View.java:13941)
- at android.view.View.onDrawForeground(View.java:17680)
- at android.view.View.draw(View.java:16212)
- at android.support.v7.widget.RecyclerView.draw(RecyclerView.java:3171)
- at android.view.View.updateDisplayListIfDirty(View.java:15198)
- at android.view.View.draw(View.java:15971)
- at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
- at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
- at android.view.View.draw(View.java:16204)
- at android.view.View.updateDisplayListIfDirty(View.java:15198)
- at android.view.View.draw(View.java:15971)
- at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
- at android.support.design.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1074)
- at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
- at android.view.View.updateDisplayListIfDirty(View.java:15193)
- at android.view.View.draw(View.java:15971)
- at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
- at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
- at android.view.View.updateDisplayListIfDirty(View.java:15193)
- at android.view.View.draw(View.java:15971)
- at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
- at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
- at android.view.View.updateDisplayListIfDirty(View.java:15193)
- at android.view.View.draw(View.java:15971)
- at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
- at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
- at android.view.View.updateDisplayListIfDirty(View.java:15193)
- at android.view.View.draw(View.java:15971)
- at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
- at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
- at android.view.View.draw(View.java:16204)
- at com.android.internal.policy.PhoneWindow$DecorView.draw(PhoneWindow.java:2690)
- at android.view.View.updateDisplayListIfDirty(View.java:15198)
- at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:282)
- at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:288)
- at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:323)
- at android.view.ViewRootImpl.draw(ViewRootImpl.java:2635)
- at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2454)
- at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2087)
- at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1127)
- at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6038)
- at android.view.Choreographer$CallbackRecord.run(Choreographer.java:860)
- at android.view.Choreographer.doCallbacks(Choreographer.java:672)
- at android.view.Choreographer.doFrame(Choreographer.java:608)
- at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:846)
- at android.os.Handler.handleCallback(Handler.java:739)
- at android.os.Handler.dispatchMessage(Handler.java:95)
- at android.os.Looper.loop(Looper.java:148)
- at android.app.ActivityThread.main(ActivityThread.java:5438)
- at java.lang.reflect.Method.invoke(Native Method)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
- @Override
- public void onMethodCallback(final ArrayList<CommentItem> commentItems) {
- CommentsListAdapter commentsListAdapter;
- final Dialog dialog = new Dialog(Main2Activity.this, R.style.cust_dialog);
- dialog.setTitle("Comments");
- View layout = getLayoutInflater().inflate(R.layout.content_comment,null);
- final LinearLayoutManager layoutManager = new LinearLayoutManager(dialog.getContext());
- layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
- final RecyclerView recyclerView=(RecyclerView) layout.findViewById(R.id.recycler_view_comment);
- Log.d("comment items",String.valueOf(commentItems));
- recyclerView.setLayoutManager(layoutManager);
- recyclerView.setHasFixedSize(true);
- commentsListAdapter = new CommentsListAdapter(commentItems);
- recyclerView.setAdapter(commentsListAdapter);
- commentsListAdapter.notifyDataSetChanged();
- dialog.setContentView(R.layout.activity_comment);
- dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
- dialog.setCanceledOnTouchOutside(true);
- dialog.setCancelable(true);
- dialog.show();
- }
- public class PostsAdapter extends RecyclerView.Adapter<PostsAdapter.MyViewHolder> {
- private Activity activity;
- private List<FeedItem> feedItems;
- private AdapterCallback mAdapterCallback;
- private ArrayList<CommentItem> commentItems;
- private ImageLoader imageLoader = AppController.getInstance().getImageLoader();
- public class MyViewHolder extends RecyclerView.ViewHolder{
- public TextView timestamp,statusMsg,url;
- public FeedImageView feedImageView;
- public Button getComments;
- public MyViewHolder(View view) {
- super(view);
- view.bringToFront();
- timestamp = (TextView) view
- .findViewById(R.id.timestamp);
- statusMsg = (TextView) view
- .findViewById(R.id.txtStatusMsg);
- url = (TextView) view.findViewById(R.id.txtUrl);
- feedImageView = (FeedImageView) view
- .findViewById(R.id.feedImage1);
- getComments=(Button)view.findViewById(R.id.commentsbutton);
- getComments.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FeedItem forComment=feedItems.get(getPosition());
- commentItems = new ArrayList<>();
- if(forComment.getCommentsSize()!=0) {
- commentItems.addAll(forComment.getCommentItems());
- }
- if(commentItems.size()!=0)
- mAdapterCallback.onMethodCallback(commentItems);
- else
- Snackbar.make(v, "No Comments Yet :(", Snackbar.LENGTH_SHORT)
- .setAction("Action", null).show();
- }
- });
- }
- }
- public PostsAdapter(Activity activity,List<FeedItem> feedItems) {
- this.feedItems=feedItems;
- this.activity=activity;
- try {
- this.mAdapterCallback = ((AdapterCallback) activity);
- } catch (ClassCastException e) {
- throw new ClassCastException("Activity must implement AdapterCallback.");
- }
- }
- @Override
- public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View itemView = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.feed_item, parent, false);
- return new MyViewHolder(itemView);
- }
- @Override
- public void onBindViewHolder(MyViewHolder holder, int position) {
- final FeedItem item=feedItems.get(position);
- if (imageLoader == null)
- imageLoader = AppController.getInstance().getImageLoader();
- String a=item.getTimeStamp();
- holder.timestamp.setText(Utils.getTimeFromTimestamp(a));
- if (!TextUtils.isEmpty(item.getStatus())) {
- holder. statusMsg.setText(item.getStatus());
- holder.statusMsg.setVisibility(View.VISIBLE);
- } else {
- // status is empty, remove from view
- holder.statusMsg.setVisibility(View.GONE);
- }
- // Checking for null feed url
- if (item.getUrl() != null) {
- holder.url.setText(Html.fromHtml("<a href="" + item.getUrl() + "">"
- + item.getUrl() + "</a> "));
- // Making url clickable
- holder.url.setMovementMethod(LinkMovementMethod.getInstance());
- holder.url.setVisibility(View.VISIBLE);
- } else {
- // url is null, remove from the view
- holder.url.setVisibility(View.GONE);
- }
- if (item.getImge() != null) {
- holder.feedImageView.setImageUrl(item.getImge(), imageLoader);
- holder.feedImageView.setVisibility(View.VISIBLE);
- holder.feedImageView
- .setResponseObserver(new FeedImageView.ResponseObserver() {
- @Override
- public void onError() {
- }
- @Override
- public void onSuccess() {
- }
- });
- } else {
- holder.feedImageView.setVisibility(View.GONE);
- }
- }
- @Override
- public int getItemCount() {
- return feedItems.size();
- }
- public static interface AdapterCallback {
- void onMethodCallback(ArrayList<CommentItem> commentItems);
- }}
- public class CommentsListAdapter extends RecyclerView.Adapter<CommentsListAdapter.MyViewHolder> {
- private ArrayList<CommentItem> commentItems;
- public class MyViewHolder extends RecyclerView.ViewHolder {
- public TextView commentTime, from, comment;
- public MyViewHolder(View view) {
- super(view);
- view.bringToFront();
- commentTime = (TextView) view
- .findViewById(R.id.commenttime);
- from = (TextView) view
- .findViewById(R.id.from);
- comment = (TextView) view.findViewById(R.id.comment);
- }
- }
- public CommentsListAdapter(ArrayList<CommentItem> commentItems) {
- this.commentItems=commentItems;
- }
- @Override
- public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View itemView = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.commentview, parent, false);
- return new MyViewHolder(itemView);
- }
- @Override
- public void onBindViewHolder(MyViewHolder holder, int position) {
- final CommentItem commentItem = commentItems.get(position);
- if (commentItem.getTimeStamp() != null) {
- String a = commentItem.getTimeStamp();
- holder.commentTime.setText(Utils.getTimeFromTimestamp(a));
- }
- if (!TextUtils.isEmpty(commentItem.getComment())) {
- holder.comment.setText(commentItem.getComment());
- holder.comment.setVisibility(View.VISIBLE);
- } else {
- // status is empty, remove from view
- holder.comment.setVisibility(View.GONE);
- }
- if (!TextUtils.isEmpty(commentItem.getFrom())) {
- holder.from.setText(commentItem.getFrom());
- holder.from.setVisibility(View.VISIBLE);
- } else {
- // status is empty, remove from view
- holder.from.setVisibility(View.GONE);
- }
- }
- @Override
- public int getItemCount() {
- return commentItems.size();
- }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement