как получить почтовый ключ с позицией в Firebase Android - PullRequest
0 голосов
/ 19 мая 2018
package com.novela.minha.novela;
import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.firebase.client.Firebase;
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.ValueEventListener;
import java.util.ArrayList;

public class MyAdapter extends RecyclerView.Adapter<MyHolder> {

Context c;
ArrayList<Beaches> beaches;
private long itemId;
private Firebase firebase;
Firebase likeRef;
FirebaseAuth user;
public com.firebase.client.Firebase Ref ;


private DatabaseReference Database = FirebaseDatabase.getInstance().getReference();
private DatabaseReference mDatabaseLike = FirebaseDatabase.getInstance().getReference().child("Likes");
private boolean  mProcessLike = false;

public MyAdapter(Context c, ArrayList<Beaches> beaches){
    this.c= c;
    this.beaches=beaches;
}
@Override
public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View v= LayoutInflater.from(parent.getContext()).inflate(R.layout.card,parent,false);
 final    MyHolder holder= new MyHolder(v);
    return holder;


}


@Override
public void onBindViewHolder(final MyHolder holder, final int position) {

 final String post_key = Database.getRef(position).getKey().toString(); // <- Error

    mDatabaseLike.keepSynced(true);
    holder.nameTxt.setText(beaches.get(position).getName());
    holder.textoTxt.setText(beaches.get(position).getTexto());
    holder.siteTxt.setText(beaches.get(position).getSite());
    holder.emissoraTxt.setText(beaches.get(position).getEmissora());
    holder.enderecoTxt.setText(beaches.get(position).getEndereco());
    PicassoClient.downloadimg(c, beaches.get(position).getUrl(),holder.img);
    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            final String url = beaches.get(position).getEndereco().toString();
            Intent intent = new Intent( v.getContext().getApplicationContext(), Web.class);
            intent.putExtra("VALOR", url);
            v.getContext().getApplicationContext().startActivity(intent);

        }
    });

    holder.like.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(final View v) {

            Toast.makeText(v.getContext(), post_key, Toast.LENGTH_SHORT).show();
            mProcessLike = true ;

            if (mProcessLike) {

                mDatabaseLike.addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {



                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {

                    }
                });


            }
        }
    });

    }



@Override
public int getItemCount() {
    return beaches.size();
}
   }

Обратите внимание, что getRef не принимает позицию, возвращает ошибку, которую можно было сделать в коде, я уже искал здесь на форуме, но я не нашел решения, спасибо, Обратите внимание, что getRef не принимаетпозиция, возвращает ошибку, которую можно было сделать в коде, я уже искал здесь на форуме, но я не нашел решения, я новичок в программировании, спасибо

1 Ответ

0 голосов
/ 20 мая 2018

final String post_key = Database.push (). GetKey ();

...