package com.schibsted.spain.barista.sample;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class RecyclerViewActivity extends AppCompatActivity {
private static final String[] FRUITS = {
"Apple", "Apricot", "Avocado", "Banana", "Bilberry", "Blackberry", "Blackcurrant",
"Blueberry", "Boysenberry", "Currant", "Cherry", "Cherimoya", "Cloudberry", "Coconut",
"Cranberry", "Cucumber", "Custardapple", "Damson", "Date", "Dragonfruit", "Durian",
"Elderberry", "Feijoa", "Fig", "Gojiberry", "Gooseberry", "Grape", "Raisin",
"Grapefruit", "Guava", "Honeyberry", "Huckleberry", "Jabuticaba", "Jackfruit", "Jambul",
"Jujube", "Juniperberry", "Kiwifruit", "Kumquat", "Lemon", "Lime", "Loquat",
"Longan", "Lychee", "Mango", "Marionberry", "Melon", "Cantaloupe", "Honeydew",
"Watermelon", "Miraclefruit", "Mulberry", "Nectarine", "Nance", "Olive", "Orange",
"Bloodorange", "Clementine", "Mandarine", "Tangerine", "Papaya", "Passionfruit", "Peach",
"Pear", "Persimmon", "Physalis", "Plantain", "Plum", "Prune(driedplum)", "Pineapple",
"Plumcot(orPluot)", "Pomegranate", "Pomelo", "Purplemangosteen", "Quince", "Raspberry",
"Salmonberry", "Rambutan", "Redcurrant", "Salalberry", "Salak", "Satsuma", "Starfruit",
"Solanumquitoense", "Strawberry", "Tamarillo", "Tamarind", "Uglifruit", "Yuzu"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recyclerview);
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler);
recyclerView.setHasFixedSize(true);
LinearLayoutManager mLayoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setAdapter(new TextAdapter(this, FRUITS));
}
public static class TextAdapter extends RecyclerView.Adapter<TextAdapter.ViewHolder> {
private final Activity activity;
private final String[] items;
TextAdapter(Activity activity, String[] myDataset) {
this.activity = activity;
items = myDataset.clone();
}
public TextAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View root = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_with_buttons, parent, false);
TextView textView = (TextView) root.findViewById(R.id.textview);
View yesButton = root.findViewById(R.id.yes);
View noButton = root.findViewById(R.id.no);
return new ViewHolder(root, textView, yesButton, noButton);
}
public void onBindViewHolder(final ViewHolder holder, int position) {
holder.textView.setText(items[position]);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(activity, LabelActivity.class);
i.putExtra(LabelActivity.EXTRA_TEXT, holder.textView.getText().toString() + " has been clicked");
activity.startActivity(i);
}
});
holder.yesButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(activity, LabelActivity.class);
i.putExtra(LabelActivity.EXTRA_TEXT, "'yes' has been clicked");
activity.startActivity(i);
}
});
holder.noButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(activity, LabelActivity.class);
i.putExtra(LabelActivity.EXTRA_TEXT, "'no' has been clicked");
activity.startActivity(i);
}
});
}
public int getItemCount() {
return items.length;
}
static class ViewHolder extends RecyclerView.ViewHolder {
TextView textView;
View yesButton;
View noButton;
ViewHolder(View root, TextView textView, View yesButton, View noButton) {
super(root);
this.textView = textView;
this.yesButton = yesButton;
this.noButton = noButton;
}
}
}
}