滚动时 SimpleAdapter 不保持位置

SimpleAdapter not keeping position when scrolling

我有一个用于显示两行列表视图的 SimpleAdapter。我希望这个简单适配器上的第 15 个位置具有不同的格式,但是当我滚动列表视图时,它会丢失位置并且格式会更改位置。有解决办法吗?我尝试过使用 convertView,但似乎无法获得正确的格式。我的代码如下。谢谢!

        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;
        }


    };

尝试添加 else 子句以将格式重置为默认格式

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));
}