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.setAdapter(menuListAdapter);
groupBinding.mainList.setNestedScrollingEnabled(false); groupBinding.mainList.setNestedScrollingEnabled(false);
menuListAdapter.setClickListener((view, position) -> { menuListAdapter.setClickListener(this::onMenuClick);
onMenuClick(menuGroup.getItems().get(position));
});
mBindings.menuContainer.addView(groupBinding.getRoot()); mBindings.menuContainer.addView(groupBinding.getRoot());

View File

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