خرید بک لینک

Vote count: 0

i am coding an Android App to register and save food recipes in a database. I did this with Firebase, so i have a realtime database.

For the Recipes I have a RecyclerView with a CardView in it. So all the Recipces are in this RecyclerView. When a Recipe e.g a CardView Objekt is touched/clicked, it should open a new Activity, give it the Object from the Firebase Database (json tree) and the hole recipe should be shown there.

I tried many different ways found in the internet but none of them worked out for me, so now i am asking here.

Whats to implement that a touch/click is registered and starts an activity with the clicked object in it?

Here my Code:

ListActivity.java

public class ListActivity extends Activity implements View.OnClickListener {

private static final String TAG = "ListActivity";
FloatingActionButton floatingActionButton;


public static class MessageViewHolder extends RecyclerView.ViewHolder{
    public TextView rezeptName;
    public TextView rezeptUntertitel;

    public MessageViewHolder(View v){
        super(v);
        rezeptName = (TextView) itemView.findViewById(R.id.rezeptTextView);
        rezeptUntertitel = (TextView) itemView.findViewById(R.id.rezeptuntertitelTextView);
    }
}

private RecyclerView mRezepteRecyclerView;
private LinearLayoutManager mLinearLayoutManager;
private DatabaseReference mFirebaseDatabaseReference;
private FirebaseRecyclerAdapter mFirebaseAdapter;
public Context context;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_list);

    floatingActionButton = (FloatingActionButton) findViewById(R.id.floatingActionButton);
    floatingActionButton.setOnClickListener(this);

    mRezepteRecyclerView = (RecyclerView) findViewById(R.id.RezeptRecyclerView);
    mLinearLayoutManager = new LinearLayoutManager(this);
    mLinearLayoutManager.setStackFromEnd(true);
    mRezepteRecyclerView.setLayoutManager(mLinearLayoutManager);

    mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference();
    mFirebaseAdapter = new FirebaseRecyclerAdapter(
            Rezept.class,
            R.layout.item_rezept,
            MessageViewHolder.class,
            mFirebaseDatabaseReference.child("rezepte")) {

        @Override
        protected void populateViewHolder(MessageViewHolder viewHolder, Rezept model, int position) {

            viewHolder.rezeptName.setText(model.getName());
            viewHolder.rezeptName.setVisibility(TextView.VISIBLE);
            viewHolder.rezeptUntertitel.setText(model.getUntertitel());
            viewHolder.rezeptUntertitel.setVisibility(TextView.VISIBLE);


        }
    };

    mFirebaseAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver(){
        @Override
        public void onItemRangeInserted(int positionStart, int itemCount){
            super.onItemRangeInserted(positionStart, itemCount);
            int rezeptCount = mFirebaseAdapter.getItemCount();
            int lastVisiblePosition = mLinearLayoutManager.findLastCompletelyVisibleItemPosition();
            if (lastVisiblePosition == -1 ||
                    (positionStart >= (rezeptCount - 1) &&
                        lastVisiblePosition == (positionStart - 1))) {
                mRezepteRecyclerView.scrollToPosition(positionStart);
            }
        }
    });

    mRezepteRecyclerView.setLayoutManager(mLinearLayoutManager);
    mRezepteRecyclerView.setAdapter(mFirebaseAdapter);
,>,>

activity_list.xml

item_rezept.xml

Rezept.java (recipe class)

    package bme.ohmhochschule.de.tasteit;


public class Rezept {

    private String name;
    private String untertitel;
    private String zutaten;
    private String beschreibung;
    private String dauer;
    private String schwierigkeit;
    private float wertung;

    public Rezept(float wertung, String name, String zutaten, String untertitel,  String schwierigkeit, String beschreibung, String dauer) {
        this.name = name;
        this.untertitel = untertitel;
        this.zutaten = zutaten;
        this.beschreibung = beschreibung;
        this.dauer = dauer;
        this.schwierigkeit = schwierigkeit;
        this.wertung = wertung;
    }


    public Rezept(){};

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUntertitel() {
        return untertitel;
    }

    public void setUntertitel(String untertitel) {
        this.untertitel = untertitel;
    }

    public String getZutaten() {
        return zutaten;
    }

    public void setZutaten(String zutaten) {
        this.zutaten = zutaten;
    }

    public String getBeschreibung() {
        return beschreibung;
    }

    public void setBeschreibung(String beschreibung) {
        this.beschreibung = beschreibung;
    }

    public String getDauer() {
        return dauer;
    }

    public void setDauer(String dauer) {
        this.dauer = dauer;
    }

    public String getSchwierigkeit() {
        return schwierigkeit;
    }

    public void setSchwierigkeit(String schwierigkeit) {
        this.schwierigkeit = schwierigkeit;
    }

    public float getWertung() {
        return wertung;
    }

    public void setWertung(float wertung) {
        this.wertung = wertung;
    }
}

i am thankful for any help, thank you

asked 1 min ago

برچسب: نویسنده: استخدام کار تاريخ: چهارشنبه 23 فروردين 1396 ساعت: 19:20

صفحه بندی