简体   繁体   中英

SimpleAdapter not keeping position when scrolling

I have a SimpleAdapter which I'm using to display a two line listview. I want the 15th position on this simple adapter to be of a different format but when I scroll the listview around, it looses the position and the formatting changes positions. Is there a solution for this? I've tried mucking around with the convertView but can't seem to get the right format. My code is below. Thanks!

        SimpleAdapter adapter = new SimpleAdapter(this, data, android.R.layout.simple_list_item_2, new String[] {"title", "publisher"}, new int[] {android.R.id.text1, android.R.id.text2}){
        public View getView(int position, View convertView, ViewGroup parent) {
            View view = super.getView(position, convertView, parent);

            if (position == 15) {
                TextView text1 = (TextView) view.findViewById(android.R.id.text1);
                text1.setTextColor(Color.WHITE);
                TextView text2 = (TextView) view.findViewById(android.R.id.text2);
                text2.setTextColor(Color.WHITE);
                view.setBackgroundColor(getResources().getColor(R.color.teal_dark));
            }

            return view;
        }


    };

Try to add an else clause to reset the format to default format

if (position == 15) {
    TextView text1 = (TextView) view.findViewById(android.R.id.text1);
    text1.setTextColor(Color.WHITE);
    TextView text2 = (TextView) view.findViewById(android.R.id.text2);
    text2.setTextColor(Color.WHITE);
    view.setBackgroundColor(getResources().getColor(R.color.teal_dark));
} else {
    TextView text1 = (TextView) view.findViewById(android.R.id.text1);
    text1.setTextColor(Color.BLACK);
    TextView text2 = (TextView) view.findViewById(android.R.id.text2);
    text2.setTextColor(Color.BLACK);
    view.setBackgroundColor(getResources().getColor(R.color.teal_light));
}

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