簡體   English   中英

在 Android 中使用帶有自定義適配器的 SearchableSpinner

[英]Using SearchableSpinner with Custom Adapter in Android

我在我的 Android 項目和 SearchableSpinner 中使用 ‍‍SearchableSpinner,我使用了兩個 textview,所以我制作了一個自定義適配器。 當我單擊 SearchableSpinner 時,數據顯示不正確。

紡紗機

獲取數據沒有問題,但是當我單擊它選擇任何項目時,問題將顯示為

這是我的自定義適配器代碼。 我在我的自定義適配器中使用 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;
}

我需要幫助。

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

您沒有通過這兩個調用傳遞String 您正在傳遞一個 java 對象 ID

@Override toString() 在您的模型中將此添加到您的模型類中.. 希望它會有所幫助..

public String toString(){
    return universityName;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM