Spinner с настраиваемым адаптером массива - PullRequest
0 голосов
/ 14 сентября 2018

Я пытаюсь заполнить счетчик из специального адаптера массива. Все работает отлично, за исключением того, что когда вы нажимаете на счетчик, чтобы выбрать новое значение, он отображает длинную строку кода для каждого элемента. Тем не менее, после нажатия на длинную строку кода отображается правильное имя и дает правильное значение, хотя.

Пример того, что он делает

https://i.stack.imgur.com/AhUqw.png

Адаптер пользовательского массива

private void populateCompanyList()
    {
        ArrayAdapter<CompanyClass> Adapter = new OnlyListAdapter();
        Company.setAdapter(Adapter);
    }

    private class OnlyListAdapter extends ArrayAdapter<CompanyClass>
    {
        public OnlyListAdapter() {
            super(getActivity(), R.layout.spinner_item, listCompany);
        }
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            //Make sure we have a view to work with
            View itemView = convertView;
            if (itemView == null)
                itemView = getActivity().getLayoutInflater().inflate(R.layout.spinner_item, parent, false);

            CompanyClass currentCompany = listCompany.get(position);

            TextView Name = (TextView) itemView.findViewById(R.id.txtName);
            Name.setText(currentCompany.getName());
            Toast.makeText(getActivity(), currentCompany.getName(), Toast.LENGTH_LONG).show();


            return itemView;
        }
    }

публичный класс CompanyClass {

String ID;
String Name;

public CompanyClass(String ID, String Name)
{
    this.ID=ID;
    this.Name=Name;
}

public String getID() {
    return ID;
}

public String getName() {
    return Name;
}

}

1 Ответ

0 голосов
/ 14 сентября 2018

Попробуйте это.

  @Override
    public String toString() {
        return this.Name;          
    }
...