Java Android ListView在滚动时失去背景色
我正在更改已单击项目的背景色Java Android ListView在滚动时失去背景色,java,android,listview,colors,background,Java,Android,Listview,Colors,Background,我正在更改已单击项目的背景色 public View onCreateView(final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.layout_create_msg, container, false); final EditText tbsen
public View onCreateView(final LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.layout_create_msg, container, false);
final EditText tbsendto=(EditText) view.findViewById(R.id.tbsendto);
System.out.println("Aqui");
SharedPreferences userDetails = getActivity().getBaseContext().getSharedPreferences("Login", Context.MODE_PRIVATE);
username=userDetails.getString("Unm","");
GetUsersMsg getMsg=new GetUsersMsg(getActivity());
getMsg.execute("new",username);
final ListView list=(ListView)view.findViewById(R.id.lv_users_new_msg);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View itemview, int i, long l) {
View v=itemview;
v=inflater.inflate(R.layout.layout_create_msg,null);
final String item = ((TextView) itemview).getText().toString();
System.out.println(item);
String textsendto;
System.out.println(tbsendto.getText().toString());
if (tbsendto.getText().toString().contains(item)){
textsendto=tbsendto.getText().toString().replace( " " + item,"");
itemview.setBackgroundColor(Color.parseColor("#19394a"));
((TextView) itemview).setTextColor(Color.WHITE);
}else {
textsendto=tbsendto.getText().toString() + " " + item;
itemview.setBackgroundColor(Color.WHITE);
((TextView) itemview).setTextColor(Color.parseColor("#19394a"));
}
tbsendto.setText(textsendto);
tbsendto.setSelection(tbsendto.getText().length());
}
});
return view;
}
创建视图(最终布局)上的公共视图充气机、视图组容器、,
Bundle savedInstanceState){
视图=充气机。充气(R.layout.layout\u create\u msg,container,false);
final EditText tbsendto=(EditText)view.findViewById(R.id.tbsendto);
System.out.println(“AQI”);
SharedReferences userDetails=getActivity().getBaseContext().GetSharedReferences(“登录”,Context.MODE\u PRIVATE);
username=userDetails.getString(“Unm”和“”);
GetUsersMsg getMsg=newgetUsersMSG(getActivity());
getMsg.execute(“新建”,用户名);
最终ListView列表=(ListView)view.findViewById(R.id.lv\u users\u new\u msg);
list.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView AdapterView、View itemview、int i、long l){
视图v=项目视图;
v=充气机充气(R.layout.layout\u create\u msg,空);
最终字符串项=((TextView)itemview.getText().toString();
系统输出打印项次(项);
字符串textsendto;
System.out.println(tbsendto.getText().toString());
如果(tbsendto.getText().toString()包含(项)){
textsendto=tbsendto.getText().toString().replace(“+item,”);
itemview.setBackgroundColor(Color.parseColor(#19394a));
((TextView)itemview.setTextColor(Color.WHITE);
}否则{
textsendto=tbsendto.getText().toString()+“”+项;
itemview.setBackgroundColor(颜色:白色);
(TextView)itemview.setTextColor(Color.parseColor(“#19394a”);
}
tbsendto.setText(textsendto);
tbsendto.setSelection(tbsendto.getText().length());
}
});
返回视图;
}
但是当我滚动listview并且项目离开屏幕时,屏幕就失去了给定的颜色。
我做错了什么?为什么它会失去给定的颜色?
谢谢 因为滚动时会重新创建视图。您必须在适配器中设置颜色。因为滚动视图时会重新创建。您必须设置适配器的颜色。您能告诉我那是什么颜色吗?您能告诉我那是什么颜色吗?