大規模リファクタ #143
|
@ -1,20 +1,54 @@
|
||||||
package one.nem.kidshift.feature.common.adapter;
|
package one.nem.kidshift.feature.common.adapter;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import one.nem.kidshift.feature.common.R;
|
||||||
|
import one.nem.kidshift.model.tasks.TaskItemModel;
|
||||||
|
|
||||||
public class TaskListItemAdapter extends RecyclerView.Adapter<TaskListItemAdapter.ViewHolder> {
|
public class TaskListItemAdapter extends RecyclerView.Adapter<TaskListItemAdapter.ViewHolder> {
|
||||||
|
|
||||||
|
private List<TaskItemModel> taskItemModelList;
|
||||||
|
|
||||||
|
private CompleteButtonClickedCallback callback;
|
||||||
|
|
||||||
|
public TaskListItemAdapter() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTaskItemModelList(List<TaskItemModel> taskItemModelList) {
|
||||||
|
this.taskItemModelList = taskItemModelList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCallback(CompleteButtonClickedCallback callback) {
|
||||||
|
this.callback = callback;
|
||||||
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public TaskListItemAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
public TaskListItemAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||||
return null;
|
View view = View.inflate(parent.getContext(), R.layout.list_item_common_task_list_item, null);
|
||||||
|
return new ViewHolder(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressLint("SetTextI18n")
|
||||||
@Override
|
@Override
|
||||||
public void onBindViewHolder(@NonNull TaskListItemAdapter.ViewHolder holder, int position) {
|
public void onBindViewHolder(@NonNull TaskListItemAdapter.ViewHolder holder, int position) {
|
||||||
|
TaskItemModel taskItemModel = taskItemModelList.get(position);
|
||||||
|
holder.taskTitle.setText(taskItemModel.getName());
|
||||||
|
holder.taskContents.setText(taskItemModel.getReward() + "円"); // TODO: ハードコードやめる
|
||||||
|
holder.completedButton.setOnClickListener(v -> {
|
||||||
|
if (callback != null) {
|
||||||
|
callback.onClicked(taskItemModel.getId());
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -23,8 +57,21 @@ public class TaskListItemAdapter extends RecyclerView.Adapter<TaskListItemAdapte
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ViewHolder extends RecyclerView.ViewHolder {
|
public static class ViewHolder extends RecyclerView.ViewHolder {
|
||||||
|
|
||||||
|
TextView taskTitle;
|
||||||
|
TextView taskContents;
|
||||||
|
Button completedButton;
|
||||||
|
|
||||||
public ViewHolder(@NonNull View itemView) {
|
public ViewHolder(@NonNull View itemView) {
|
||||||
super(itemView);
|
super(itemView);
|
||||||
|
taskTitle = itemView.findViewById(R.id.task_title_text_view);
|
||||||
|
taskContents = itemView.findViewById(R.id.task_contents_text_view);
|
||||||
|
completedButton = itemView.findViewById(R.id.actbutton);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public interface CompleteButtonClickedCallback {
|
||||||
|
void onClicked(String taskId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user