Отображение данных в виде списка из Firebase - IndexOutOfBoundsException - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь получить информацию из Firebase и показать ее в ListView с использованием класса информации.В CustomList отображается эта ошибка

Процесс: com.legiontechsolutions.antigravity, PID: 21862 java.lang.IndexOutOfBoundsException

public class CustomList extends ArrayAdapter {
    private static Activity context;
    private static ArrayList<Information> arrayList;
    TextView name, amount, date;


    public CustomList(@NonNull Activity context, ArrayList<Information> arrayList) {
        super(context, R.layout.list_item);
        this.context = context;
        this.arrayList = arrayList;
    }

    @Override
    public int getCount() {
        return arrayList.size();
    }

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

        Log.e(".............", "" + getItem(position));
        Information information = (Information) getItem(position);

        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item, parent, false);
        }


        name = (TextView) convertView.findViewById(R.id.name);
        amount = (TextView) convertView.findViewById(R.id.email);
        date = (TextView) convertView.findViewById(R.id.creadits);

        name.setText(information.name);
        amount.setText(" " + information.email);
        date.setText(information.mobile + "  ");
        return convertView;
    }
}

Здесь я устанавливаю этот адаптер

try {
                    adapter = new CustomList(getActivity(), arrayList);
                } catch (IndexOutOfBoundsException e) {
                    Log.e("Exception is:", "" + e);
                }
                listViewCustomers.setAdapter(adapter);

1 Ответ

0 голосов
/ 26 октября 2018

Вы не можете использовать ArrayAdapter, как это.Адаптер массива по умолчанию и R.layout.simple_list_item_1 показывают одно свойство в ListView.Если вы хотите показать более одного свойства в ListView, вам следует использовать Custom Array Adapter.

R.layout.simple_list_item_1 имеет один TextView, но ваша информационная модель имеет 5 свойств.Если вы используете свой информационный список на адаптере по умолчанию, он отображается в ListView information.toString ().

Пожалуйста, проверьте ссылку ниже:

https://guides.codepath.com/android/Using-an-ArrayAdapter-with-ListView

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...