package com.turhanoz.android.reactivedirectorychooser.ui;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.turhanoz.android.reactivedirectorychooser.event.UpdateDirectoryTreeEvent;
import com.turhanoz.android.reactivedirectorychooser.model.DirectoryList;
import com.turhanoz.reactivedirectorychooser.R;
import java.io.File;
import de.greenrobot.event.EventBus;
public class DirectoryAdapter extends RecyclerView.Adapter<DirectoryAdapter.ViewHolder> {
final EventBus bus;
private DirectoryList dataSet;
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView textView;
public ViewHolder(View root) {
super(root);
textView = (TextView) root.findViewById(R.id.text1);
textView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
bus.post(new UpdateDirectoryTreeEvent(dataSet.get(getAdapterPosition())));
}
}
public DirectoryAdapter(DirectoryList dataSet, EventBus bus) {
this.dataSet = dataSet;
this.bus = bus;
}
@Override
public DirectoryAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
View root = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item, parent, false);
ViewHolder viewHolder = new ViewHolder(root);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
File file = dataSet.get(position);
holder.textView.setText(file.getName());
}
@Override
public int getItemCount() {
return dataSet.size();
}
}