사용자 대화 상대 목록을 표시하는 활동이 있습니다. 내 앱에 연락처가있는 경우 팔로우 버튼을 표시하고 싶으면 다른 사람에게 whatsapp 및 전보 아이콘을 표시하여 초대 할 수 있습니다.목록보기가 아래로 스크롤 된 후 항목 이미지가 혼합됩니다.
내가 원하는대로 모든 것을 열면 모든 것이 잘되고 있지만 아래로 스크롤하여 다시 올라 오면 버튼과 whats 앱 아이콘이 다른 연락처와 섞이게됩니다! 팔로우 버튼을 누른 사용자는 whatsapp 아이콘을 보거나 다른 사용자가 팔로우 버튼을 볼 수 있습니다! 그리고 매번 아래로 스크롤하고 다시 위치가 바뀝니다.
나는 모든 연락처 이름과 휴대 전화 번호가 고정되어 있으며 정확해야한다고 말해야합니다! 그냥 이미지가 섞인다!
나는 내가 그것을 고칠 수있는 방법이 을 :(해결하는 방법을 알고 문제가 내의 getView 함수에서 알고 있지만 그나마 TNX : 여기
것은 내 어댑터 모든 코드입니다 :
public class LazyAdapterContactsList extends BaseAdapter {
private Activity activity;
private ArrayList<HashMap<String, String>> data;
private static LayoutInflater inflater=null;
public ImageLoader profileImageLoader;
HashMap<String, String> song;
public LazyAdapterContactsList(Activity a, ArrayList<HashMap<String, String>> d) {
activity = a;
data=d;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
profileImageLoader=new ImageLoader(activity.getApplicationContext());
}
public int getCount() {
return data.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
ViewHolder holder = null;
if(vi==null) {
vi = inflater.inflate(R.layout.contacts_list_row, null);
holder = new ViewHolder();
holder.listID = (TextView) vi.findViewById(R.id.MyContactslistIDPosition);
holder.name = (TextView) vi.findViewById(R.id.MyContactslistName);
holder.mobile = (TextView) vi.findViewById(R.id.MyContactslistMobileNumber);
holder.whatsAppIcon = (ImageView) vi.findViewById(R.id.MyContactsListWhatsApp);
holder.telegramIcon = (ImageView) vi.findViewById(R.id.MyContactsListTelegram);
holder.followBtn = (Button) vi.findViewById(R.id.MyContactsListFollowBtn);
holder.linearLayout = (LinearLayout) vi.findViewById(R.id.MyContactsthumbnail);
holder.profile_thumb_image = (ImageView) vi.findViewById(R.id.MyContactslist_image_profilephoto);
vi.setTag(holder);
}
else {
holder = (ViewHolder)vi.getTag();
}
song = data.get(position);
// Setting all values in listview
holder.listID.setText(song.get(MyContacts.KEY_ID));
holder.name.setText(song.get(MyContacts.KEY_NAME));
holder.mobile.setText(song.get(MyContacts.KEY_MOBILE));
if (song.get(MyContacts.KEY_USER_EXISTS).equals("1"))
{
if (song.get(MyContacts.KEY_THUMB_PROFILE_URL).equals("no")) {
} else {
profileImageLoader.DisplayImage(song.get(MyContacts.KEY_THUMB_PROFILE_URL), holder.profile_thumb_image);
}
}else {
holder.linearLayout.setVisibility(View.VISIBLE);
holder.followBtn.setVisibility(View.GONE);
}
return vi;
}
public static class ViewHolder {
public TextView textView ,listID ,name,mobile;
public ImageView whatsAppIcon ,telegramIcon;
public Button followBtn;
public LinearLayout linearLayout;
public ImageView profile_thumb_image;
}
}
tnx이 변경으로 인해 아이콘의 문제가 해결되었지만이 코드에는 여전히 문제가 있습니다. – Saeid
profileImageLoader.DisplayImage (song.get (MyContacts.KEY_THUMB_PROFILE_URL), holder.profile_thumb_image); – Saeid
그것은 서버에서 연락처 이미지를 다운로드합니다. 하지만 여전히 스크롤 연락처 프로필 사진은 서로 섞여있다! – Saeid