我使用適配器進行編程以進行列表視圖編程,我希望它能夠在用戶觸摸列表視圖元素時保持突出顯示。我成功地使用下面的代碼。但是由於android爲了平滑的性能而回收佈局,當我點擊第1行時,第11,21,31行也被突出顯示。然後,如果向下滾動,行1不再被選中,但行4,14,24等被突出顯示。這是我使用的代碼ListView Highlight Issue
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity(), R.layout.row, collection);
onelist.setAdapter(arrayAdapter);
onelist.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
str1 = (String)onelist.getItemAtPosition(position);
str1 = str1.toLowerCase();
Toast.makeText(context, str1 + " clicked in Fragment " + fragmentNo, Toast.LENGTH_LONG).show();
if(lastColored != null)
{
lastColored.setBackgroundColor(Color.TRANSPARENT);
lastColored.invalidate();
}
lastColored = v;
v.setBackgroundColor(Color.rgb(51, 181, 229));
};
});