Advertisement
rachmadi

CommentActivity

Mar 13th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.28 KB | None | 0 0
  1.  
  2. import android.os.Bundle;
  3. import android.support.v7.app.AppCompatActivity;
  4. import android.support.v7.widget.LinearLayoutManager;
  5. import android.support.v7.widget.RecyclerView;
  6. import android.text.TextUtils;
  7. import android.view.View;
  8. import android.widget.Button;
  9. import android.widget.EditText;
  10. import android.widget.TextView;
  11.  
  12. import com.firebase.ui.database.FirebaseRecyclerAdapter;
  13. import com.google.firebase.auth.FirebaseAuth;
  14. import com.google.firebase.database.DataSnapshot;
  15. import com.google.firebase.database.DatabaseError;
  16. import com.google.firebase.database.DatabaseReference;
  17. import com.google.firebase.database.FirebaseDatabase;
  18. import com.google.firebase.database.Query;
  19. import com.google.firebase.database.ServerValue;
  20. import com.google.firebase.database.ValueEventListener;
  21.  
  22. public class CommentActivity extends AppCompatActivity {
  23.  
  24.     DatabaseReference mDatabase, mRef, mUserRef;
  25.     FirebaseAuth mAuth;
  26.  
  27.     RecyclerView recyclerView;
  28.     LinearLayoutManager mManager;
  29.     FirebaseRecyclerAdapter<Comment, CommentViewHolder> mAdapter;
  30.  
  31.     String postKey;
  32.     String fullName, userId;
  33.     long timestamp;
  34.  
  35.     TextView tvNoComment;
  36.     Button btnSend;
  37.     EditText etComment;
  38.  
  39.     @Override
  40.     protected void onCreate(Bundle savedInstanceState) {
  41.         super.onCreate(savedInstanceState);
  42.         setContentView(R.layout.activity_comment);
  43.  
  44.         Bundle extras = getIntent().getExtras();
  45.         postKey = extras.getString("postKey");
  46.  
  47.         tvNoComment = (TextView) findViewById(R.id.tvNoComment);
  48.         btnSend = (Button) findViewById(R.id.btnSend);
  49.         etComment = (EditText) findViewById(R.id.etComment);
  50.  
  51.         recyclerView = (RecyclerView) findViewById(R.id.commentList);
  52.         recyclerView.setHasFixedSize(true);
  53.         mManager = new LinearLayoutManager(this);
  54.         recyclerView.setLayoutManager(mManager);
  55.  
  56.         btnSend.setOnClickListener(new View.OnClickListener() {
  57.             @Override
  58.             public void onClick(View view) {
  59.                 sendComment();
  60.             }
  61.         });
  62.  
  63. //        if (fullName.equals(null)){
  64. //            btnSend.setEnabled(false);
  65. //        }
  66.     }
  67.  
  68.     private void sendComment() {
  69.         final String content = etComment.getText().toString();
  70.  
  71.         if (TextUtils.isEmpty(content)){
  72.             etComment.setError("Komentar harus diisi!");
  73.         } else {
  74.             final String comKey = mRef.push().getKey();
  75.             mRef.child(comKey).child("timestamp").setValue(ServerValue.TIMESTAMP);
  76.  
  77. //            Query comCount = mDatabase.child("reports").child(postKey).child("commentCount")
  78.             Query query = mRef.child(comKey).child("timestamp");
  79.             query.addValueEventListener(new ValueEventListener() {
  80.                 @Override
  81.                 public void onDataChange(DataSnapshot dataSnapshot) {
  82.                     if (dataSnapshot.getValue() != null) {
  83.                         timestamp = dataSnapshot.getValue(long.class);
  84.                         Comment com = new Comment(postKey, content, fullName, timestamp);
  85.                         mRef.child(comKey).setValue(com);
  86.                     } else {
  87.                         tvNoComment.setVisibility(View.VISIBLE);
  88.                     }
  89.                 }
  90.  
  91.                 @Override
  92.                 public void onCancelled(DatabaseError databaseError) {
  93.  
  94.                 }
  95.             });
  96.             etComment.setText("");
  97.  
  98.         }
  99.     }
  100.  
  101.     @Override
  102.     protected void onStart() {
  103.         super.onStart();
  104.  
  105.         mDatabase = FirebaseDatabase.getInstance().getReference();
  106.         mAuth = FirebaseAuth.getInstance();
  107.         mRef = mDatabase.child("comments").child(postKey);
  108.  
  109.         fullName = getFullName();
  110.         System.out.println("fullName2: " + fullName);
  111.  
  112.         mAdapter = new FirebaseRecyclerAdapter<Comment, CommentViewHolder>(
  113.                 Comment.class,
  114.                 R.layout.item_comment,
  115.                 CommentViewHolder.class, mRef
  116.         ) {
  117.             @Override
  118.             protected void populateViewHolder(CommentViewHolder viewHolder, Comment model, int position) {
  119.                 viewHolder.bindToComment(model);
  120.                 tvNoComment.setVisibility(View.GONE);
  121.             }
  122.         };
  123.         recyclerView.setAdapter(mAdapter);
  124.  
  125.     }
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement