findViewById возвращает значение null в getView адаптера

Я пытаюсь понять, почему findViewById всегда возвращает ноль, когда я повторно использую мой взгляд в getView() моего пользовательского адаптера.

1) Ниже изображение показывает мой ListView. Довольно простой.

введите описание изображения здесь

2) Я определил еще один XML-файл с именем selected_apps_button.xml, который является видом, который будет добавлен в ListView выше. Вот изображение

введите описание изображения здесь

3) Вот как я надуваю представление на шаге 2, чтобы добавить его к ListView на шаге 1

    public View getView(final int pos, View convertView, ViewGroup parent) {
    View selectAppsButton = convertView;

    if(selectAppsButton == null) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        selectAppsButton = inflater.inflate(R.layout.selected_apps_button, parent, false);
    }


    final TileButton appColorButton = (TileButton) selectAppsButton.findViewById(R.id.appColorr);
    final TileButton appNameButton = (TileButton) selectAppsButton.findViewById(R.id.appNamee); //appNameButton is always null

4) В приведенном выше коде appNameButton всегда имеет значение null. Интересно, что appColorButton из того же надутого макета НЕ является нулевым.

5) Есть идеи, что происходит?

Я собирал и перестраивал проект миллион раз. Но это не помогло.

Пожалуйста, дайте мне знать, если требуется дополнительная информация. Благодарю.

0 ответов

Другие вопросы по тегам