This commit is contained in:
Valerio Castellana 2021-11-11 13:19:31 +01:00
parent 8f943829ec
commit 51528fda6f
2 changed files with 13 additions and 16 deletions

View File

@ -276,9 +276,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
groupBinding.mainList.setAdapter(menuListAdapter);
groupBinding.mainList.setNestedScrollingEnabled(false);
menuListAdapter.setClickListener((view, position) -> {
onMenuClick(menuGroup.getItems().get(position));
});
menuListAdapter.setClickListener(this::onMenuClick);
mBindings.menuContainer.addView(groupBinding.getRoot());

View File

@ -14,14 +14,15 @@ import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration;
public class MenuListAdapter extends RecyclerView.Adapter<MenuListAdapter.ViewHolder> {
private Context mContext;
private final Context mContext;
private List<MenuConfiguration.MenuItem> mDataset;
private LayoutInflater mInflater;
private final List<MenuConfiguration.MenuItem> mDataset;
private final LayoutInflater mInflater;
private ItemClickListener mClickListener;
// data is passed into the constructor
@ -44,6 +45,10 @@ public class MenuListAdapter extends RecyclerView.Adapter<MenuListAdapter.ViewHo
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
holder.mIcon.setImageDrawable(ResourcesCompat.getDrawable(mContext.getResources(), mDataset.get(position).getTitleIcon(), null));
holder.mTitle.setText(mContext.getResources().getString(mDataset.get(position).getTitleText()));
holder.itemView.setOnClickListener(v -> {
if (mClickListener != null) mClickListener.onItemClick(mDataset.get(position));
});
}
// total number of cells
@ -54,20 +59,14 @@ public class MenuListAdapter extends RecyclerView.Adapter<MenuListAdapter.ViewHo
// stores and recycles views as they are scrolled off screen
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private TextView mTitle;
private ImageView mIcon;
public static class ViewHolder extends RecyclerView.ViewHolder {
private final TextView mTitle;
private final ImageView mIcon;
ViewHolder(View itemView) {
super(itemView);
mTitle = itemView.findViewById(R.id.menu_title);
mIcon = itemView.findViewById(R.id.menu_icon);
itemView.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (mClickListener != null) mClickListener.onItemClick(view, getAdapterPosition());
}
}
@ -79,6 +78,6 @@ public class MenuListAdapter extends RecyclerView.Adapter<MenuListAdapter.ViewHo
// parent activity will implement this method to respond to click events
public interface ItemClickListener {
void onItemClick(View view, int position);
void onItemClick(BaseMenuConfiguration.MenuItem menuItem);
}
}