aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/com/example/wiimmterfaceandroid/RecentCodesAdapter.java
blob: 1aad0a5cd15febe30f2f6802a2d3214b88d6ed1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.example.wiimmterfaceandroid;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;

import androidx.annotation.NonNull;
import androidx.databinding.ObservableArrayList;
import androidx.recyclerview.widget.RecyclerView;

import com.example.wiimmterfaceandroid.model.FriendCode;

import java.util.List;

public class RecentCodesAdapter extends RecyclerView.Adapter<RecentCodesAdapter.ViewHolder>{
    ObservableArrayList<FriendCode> entries;
    OnFriendCodeClicked listener;
    public interface OnFriendCodeClicked {
        public void onClick(FriendCode entry);
    }

    public RecentCodesAdapter (ObservableArrayList<FriendCode> entries, OnFriendCodeClicked listener) {
        this.entries = entries;
        this.listener = listener;
    }

    @NonNull
    @Override
    public RecentCodesAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recent_friend_codes_item, parent, false);
        return new RecentCodesAdapter.ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull RecentCodesAdapter.ViewHolder holder, int position) {
        Button fcButton = holder.itemView.findViewById(R.id.recent_friend_code_button);
        FriendCode currentFC = entries.get(position);
        fcButton.setText(currentFC.friendCode);
        fcButton.setOnClickListener(view -> {
            if (listener == null) return;
            listener.onClick(currentFC);
        });
    }

    @Override
    public int getItemCount() {
        return entries.size();
    }
    class ViewHolder extends RecyclerView.ViewHolder {
        public ViewHolder(@NonNull View itemView) {
            super(itemView);
        }
    }
}