滚动时 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));
}
我有一个用于显示两行列表视图的 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));
}