简体   繁体   中英

Android custom expandable listview expands every nth item

I have custom listview and array adapter with ViewHolder. When click listview item, it expands new layout below. Problem is: unfortunately it is opened for every +9th item in listview.. For example: if item 0 is clicked; 0,9,18th elements opens their expand layouts. Any idea without looking code ?

I have no idea, but this sounds familair with an issue I had. I had a listview with TextView objects and multiple were selected and got typed in the same value.

I had a very, very dirty fix for that, in my custom adapter I'd always make a new View, no matter what:

@Override
public View getView (final int position, View convertView, final ViewGroup parent) {
   //if (convertView == null) {
       // Inflate the view from the converter
       final LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
       convertView = layoutInflater.inflate(converter.getLayout(), parent, false);
    //}
    // Populate the view from the converter
    converter.populateInflatedView(convertView, getItem(position));
    return convertView;
}

Source can be found here if you want to know what the converter is about.

On a side note, I have created a sort of interface type of thing for a TreeView, however this is in Activity form which uses a ScrollView . So this is not really a ListView type of deal, but might help you. The Tree part can be found on the Tree-link, with an implementation in the subject package.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM