我有一个列表中充满了联系人。我使用异步类加载列表中的联系人。OnItemClick监听器在异步填充列表中选择多行android
在列表类中,我实现了一个setOnItemClickListener。在这个setOnItemClickListener中,我将选定的联系人放置在一个数组中,以便我可以向他们发送文本。这一切都像梦一样工作。
但有一个小问题。当选择在列表中的联系人有选择这样的多个联系人:
-normal contact-
-selected contact-
-normal contact-
-normal contact-
-normal contact-
-normal contact-
-selected contact-
我与此代码加载联系人:
@Override
protected void onPostExecute(ArrayList<list_item_person> contacts) {
// TODO Auto-generated method stub
super.onPostExecute(contacts);
pd.cancel();
PersonListAdapter adapter = new PersonListAdapter(getActivity().getApplicationContext(),
R.layout.list_item_person, contacts);
list.setAdapter(adapter);
}
这是异步类
和的onclick是像这样:
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
list_item_person o = (list_item_person) list.getItemAtPosition(position);
SearchResults selected = new SearchResults("");
int i = 0;
for(SearchResults number:contact_selected){
if(o.phoneNumber.equals(number.getPhoneNumber())){
i ++;
selected = number;
}
};
if(i == 0) {
contact_selected.add(new SearchResults(String.valueOf(o.phoneNumber)));
arg1.setBackgroundColor(Color.RED);
Log.e("e", String.valueOf(o.phoneNumber));
}else{
contact_selected.remove(selected);
arg1.setBackgroundColor(Color.parseColor("#162229"));
}
我在这里忘了什么?
你甚至没有告诉你认为是一个选定的项目。用户如何看到一个项目被选中? – greenapps
'在列表中选择一个联系人时,会选择多个联系人,如下所示:'。不要这样想。仅在用户滚动列表之后。 – greenapps
@greenapps一个选定的项目是一个项目,其中背景颜色是红色的,并且该号码的值被放置在contact_selected中 – Twizzler