Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.os.Bundle;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.text.TextUtils;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.TextView;
- import com.firebase.ui.database.FirebaseRecyclerAdapter;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.database.DataSnapshot;
- import com.google.firebase.database.DatabaseError;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.FirebaseDatabase;
- import com.google.firebase.database.Query;
- import com.google.firebase.database.ServerValue;
- import com.google.firebase.database.ValueEventListener;
- public class CommentActivity extends AppCompatActivity {
- DatabaseReference mDatabase, mRef, mUserRef;
- FirebaseAuth mAuth;
- RecyclerView recyclerView;
- LinearLayoutManager mManager;
- FirebaseRecyclerAdapter<Comment, CommentViewHolder> mAdapter;
- String postKey;
- String fullName, userId;
- long timestamp;
- TextView tvNoComment;
- Button btnSend;
- EditText etComment;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_comment);
- Bundle extras = getIntent().getExtras();
- postKey = extras.getString("postKey");
- tvNoComment = (TextView) findViewById(R.id.tvNoComment);
- btnSend = (Button) findViewById(R.id.btnSend);
- etComment = (EditText) findViewById(R.id.etComment);
- recyclerView = (RecyclerView) findViewById(R.id.commentList);
- recyclerView.setHasFixedSize(true);
- mManager = new LinearLayoutManager(this);
- recyclerView.setLayoutManager(mManager);
- btnSend.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- sendComment();
- }
- });
- // if (fullName.equals(null)){
- // btnSend.setEnabled(false);
- // }
- }
- private void sendComment() {
- final String content = etComment.getText().toString();
- if (TextUtils.isEmpty(content)){
- etComment.setError("Komentar harus diisi!");
- } else {
- final String comKey = mRef.push().getKey();
- mRef.child(comKey).child("timestamp").setValue(ServerValue.TIMESTAMP);
- // Query comCount = mDatabase.child("reports").child(postKey).child("commentCount")
- Query query = mRef.child(comKey).child("timestamp");
- query.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- if (dataSnapshot.getValue() != null) {
- timestamp = dataSnapshot.getValue(long.class);
- Comment com = new Comment(postKey, content, fullName, timestamp);
- mRef.child(comKey).setValue(com);
- } else {
- tvNoComment.setVisibility(View.VISIBLE);
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- etComment.setText("");
- }
- }
- @Override
- protected void onStart() {
- super.onStart();
- mDatabase = FirebaseDatabase.getInstance().getReference();
- mAuth = FirebaseAuth.getInstance();
- mRef = mDatabase.child("comments").child(postKey);
- fullName = getFullName();
- System.out.println("fullName2: " + fullName);
- mAdapter = new FirebaseRecyclerAdapter<Comment, CommentViewHolder>(
- Comment.class,
- R.layout.item_comment,
- CommentViewHolder.class, mRef
- ) {
- @Override
- protected void populateViewHolder(CommentViewHolder viewHolder, Comment model, int position) {
- viewHolder.bindToComment(model);
- tvNoComment.setVisibility(View.GONE);
- }
- };
- recyclerView.setAdapter(mAdapter);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement