user1730789
user1730789

Reputation: 5177

Getting the Adapter for a ListView

I am using the following code

ConsumersFiltersAdapter genderFilterAdapter, ageFilterAdapter,
            lastCheckinFilterAdapter, customerTypeAdapter;  

            genderFilterListView.setAdapter(genderFilterAdapter);
            ageFilterListView.setAdapter(ageFilterAdapter);
            lastCheckinFilterListView.setAdapter(lastCheckinFilterAdapter);
            customerFilterListView.setAdapter(customerTypeAdapter);

            genderFilterListView.setOnItemClickListener(this);
            ageFilterListView.setOnItemClickListener(this);
            lastCheckinFilterListView.setOnItemClickListener(this);
            customerFilterListView.setOnItemClickListener(this);

Then i implment the following function

@Override
    public void onItemClick(final AdapterView<?> listView, final View view,final int position, final long id) {
        ConsumersFiltersAdapter consumersFiltersAdapter=(ConsumersFiltersAdapter)listView.getAdapter();
        consumersFiltersAdapter.setSelectedIndex(position);
    }

but i get a class cast exception on the first line

java.lang.ClassCastException: android.widget.HeaderViewListAdapter cannot be cast to com.abc.merchant.adapter.ConsumersFiltersAdapter

Upvotes: 3

Views: 1098

Answers (1)

NaserShaikh
NaserShaikh

Reputation: 1576

 convertView.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                   setSelectedIndex(position);
                }
          });

you can use above code for this: both codes works similarly.

@Override
    public void onItemClick(final AdapterView<?> listView, final View view,final int position, final long id) {
        ConsumersFiltersAdapter consumersFiltersAdapter=(ConsumersFiltersAdapter)listView.getAdapter();
        consumersFiltersAdapter.setSelectedIndex(position);
    }

Upvotes: 2

Related Questions