Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ListView listView = (ListView) findViewById(R.id.main_menu_list_view);
- listView.setAdapter(new MenuAdapter(this, adapterArray));
- listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- menuItemClicked(position);
- }
- });
- private ArrayList<? extends IMenuPrintable> items;
- private Context context;
- private ArrayList<Integer> hiddenPositions = new ArrayList<>();
- public MenuAdapter(Context context, ArrayList<? extends IMenuPrintable> items) {
- this.context = context;
- this.items = items;
- if (this.items == null) {
- this.items = new ArrayList<>();
- }
- }
- @Override
- public int getCount() {
- return this.items.size() - hiddenPositions.size();
- }
- @Override
- public Object getItem(int position) {
- return this.items.get(position);
- }
- @Override
- public long getItemId(int position) {
- return position;
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- if (convertView == null) {
- convertView = ((Activity) context).getLayoutInflater().inflate(R.layout.main_menu_row, parent, false);
- }
- LDService service = (LDService) items.get(position);
- if (service.type.equals("4")) {
- hideItem(position);
- for(Integer hiddenIndex : hiddenPositions) {
- if(hiddenIndex <= position) {
- position = position + 1;
- }
- }
- }
- return convertView;
- }
- private void hideItem(int itemToHide) {
- if(!hiddenPositions.contains(itemToHide)){
- hiddenPositions.add(itemToHide);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement