Использование SearchableSpinner с пользовательским адаптером в Android - PullRequest
0 голосов
/ 20 января 2020

Я использую earSearchableSpinner в своем проекте Android, а в моем SearchableSpinner я использую два textview, поэтому я создал специальный адаптер. Когда я нажимаю SearchableSpinner, данные не отображаются должным образом.

Spinner

There is no problem is fetching data but when I click it to select any item, the problem will show like that

Вот мой пользовательский код адаптера. Я использую getView и getDropDownview в своем настраиваемом адаптере.

private ArrayList<University> universityList;
private Activity context;

public UniversityListAdapterForUploadPage(ArrayList<University> universityList, Activity context){
    super(context,R.layout.university_list_row_for_spinner,universityList);
    this.universityList = universityList;
    this.context = context;
}

@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {

    LayoutInflater layoutInflater = context.getLayoutInflater();
    View customView = layoutInflater.inflate(R.layout.university_list_row_for_spinner,null,true);

    TextView universityIDText  = customView.findViewById(R.id.universityID_textView_for_spinner);
    TextView universityNameText = customView.findViewById(R.id.university_name_textView_for_spinner);

    University university = universityList.get(position);

    universityIDText.setText(university.getUniversityID()+"");
    universityNameText.setText(university.getUniversityName());

    return customView;
}

@Override
public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
    LayoutInflater layoutInflater = context.getLayoutInflater();
    View customView = layoutInflater.inflate(R.layout.university_list_row_for_spinner,null,true);

    TextView universityIDText  = customView.findViewById(R.id.universityID_textView_for_spinner);
    TextView universityNameText = customView.findViewById(R.id.university_name_textView_for_spinner);

    University university = universityList.get(position);

    universityIDText.setText(university.getUniversityID()+"");
    universityNameText.setText(university.getUniversityName());

    return customView;
}

Мне нужна помощь.

1 Ответ

0 голосов
/ 20 января 2020
universityIDText.setText(university.getUniversityID()+"");
universityNameText.setText(university.getUniversityName());

Вы не передаете String с этими двумя вызовами. Вы передаете java идентификатор объекта

...