Özel ArrayAdapter
'u kullanarak AutoCompleteTextView
doldurmaya çalışıyorum. Ekran değerlerini ekleyerek güzel çalışıyor. Tek sorun, herhangi bir açılır pencere görüntülenmiyor olmasıdır. Bu açılır listenin nasıl görüneceğini herkes biliyor mu?DisplayListCanvas, bağımsız RenderNode üzerinde başlatıldı (mOwningView olmadan)
DisplayListCanvas: ben açılan görmelisiniz Her zaman dediğim mesajı log görebilirsiniz
: DisplayListCanvaspublic class UserSearchAdapter extends ArrayAdapter<Profile> { Context context; ArrayList profiles; public UserSearchAdapter(Context context, int resource, ArrayList<Profile> objects) { super(context, resource, objects); this.context = context; this.profiles = objects; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = LayoutInflater.from(this.getContext()) .inflate(R.layout.single_user_item, parent, false); } Profile profile = (Profile) profiles.get(position); TextView text = (TextView) convertView.findViewById(R.id.single_user_name_text); text.setText(profile.getDisplayName()); return convertView; } }
Benim adaptör kodu (mOwningView olmadan) unbinded RenderNode üzerinde başlatılır
Benim AnaAktivite kodum:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_member_supervisor);
activity = MemberSupervisorActivity.this;
Firebase.setAndroidContext(this);
autoCompleteUser = (AutoCompleteTextView) findViewById(R.id.auto_members);
profiles = new ArrayList<>();
members = new UserSearchAdapter(activity, R.layout.single_user_item, profiles);
autoCompleteUser.setAdapter(members);
autoCompleteUser.setThreshold(1);
autoCompleteUser.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
final Query auto = new Firebase(Constants.FIREBASE_USER_PROFILE).orderByChild("displayName").startAt(autoCompleteUser.getText().toString()).endAt(autoCompleteUser.getText().toString() + "~");
auto.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
profiles.clear();
Log.d("entered", autoCompleteUser.getText().toString());
for (DataSnapshot data : dataSnapshot.getChildren()) {
Profile profile = data.getValue(Profile.class);
profiles.add(profile);
Log.d("results", profile.getDisplayName());
}
members.notifyDataSetChanged();
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
});
}
Yani "DisplayListCanvas ..." uyarısına da giriyorum ve bu sadece en iyi sonuç değil, SADECE sonuçlardan biri. Yardımcı olabilir misin merak ediyorum – Benjamin