bien im faire une vue recycleur avec une base de données sur Firebase. Cela fonctionne parfaitement ... maintenant je veux mettre en œuvre un bouton de partage, mais je ne peux pas faire la référence du bouton chaque img. j'ai trouvé un tutoriel pour le faire, mais lorsque je tente de mettre en œuvre cette ligne (si je le supprimer les applications va bien, mais DOEST référence à la position du bouton)Bouton Ajouter à FirebaseUI ViewHolder
public BlogViewHolder(View itemView) {
...
button = (Button)mView.findViewById(R.id.share);
...
les application se bloque lorsque j'ouvre l'activité im seulement utiliser des toasts pour tester.
public class NoticiasActivity extends AppCompatActivity {
private RecyclerView mBlogList;
FirebaseDatabase database;
DatabaseReference myRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_noticias);
//Recycler View
mBlogList = (RecyclerView)findViewById(R.id.blog_list);
mBlogList.setHasFixedSize(true);
mBlogList.setLayoutManager(new LinearLayoutManager(this));
// Send a Query to the database
database = FirebaseDatabase.getInstance();
myRef = database.getReference("Data");
}
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerAdapter<ModelClass, BlogViewHolder> firebaseRecyclerAdapter =
new FirebaseRecyclerAdapter<ModelClass, BlogViewHolder>(
ModelClass.class,
R.layout.design_row,
BlogViewHolder.class,
myRef) {
@Override
protected void populateViewHolder(BlogViewHolder viewHolder, ModelClass model,int position) {
viewHolder.setTitle(model.getTitle());
viewHolder.setImage(getApplicationContext(), model.getImage());
viewHolder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(view.getContext(), "esto es un boton"+ view.getNextFocusUpId(), Toast.LENGTH_SHORT).show();
}
});
}
};
mBlogList.setAdapter(firebaseRecyclerAdapter);
}
//View Holder For Recycler View
public static class BlogViewHolder extends RecyclerView.ViewHolder {
View mView;
Button button ;
public BlogViewHolder(View itemView) {
super(itemView);
button = (Button)mView.findViewById(R.id.share);
mView= itemView;
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// click en la imagen hace algo
//añadir luego
Toast.makeText(v.getContext(), "hola", Toast.LENGTH_SHORT).show();
}
});
}
public void setTitle(String title){
TextView post_title = (TextView)mView.findViewById(R.id.titleText);
post_title.setText(title);
}
public void setImage(Context ctx , String image){
ImageView post_image = (ImageView)mView.findViewById(R.id.imageViewy);
// We Need TO pass Context
Picasso.with(ctx).load(image).into(post_image);
}
}
}
Vous devez ajouter Logcat à la question. https://stackoverflow.com/questions/23353173/unheureusement-myapp-has-stopped-how-can-i-solve-this –