При перетаскивании в дизайн для создания представления списка единственный код, созданный в моем xml, был:

<ListView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

Нет android:id="@id/example"/ создано. Мне нужно назвать это для моего класса фрагментов

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_details, container, false);

    String[] menuItems={"Example1","Example2","Example3"};

    ListView listView = (ListView)view.findViewById(R.id.example);


    return view;
}

Я не могу вызвать свой ListView, потому что студия Android не позволяет мне создавать для него идентификатор. Я получаю следующую ошибку при написании кода в разделе Невозможно разрешить символ '@ id / example', проверяет ссылки на ресурсы в файлах Android XML

Что мне не хватает?

0
Lui H 19 Сен 2018 в 06:38

2 ответа

Лучший ответ

Если это новый идентификатор, вам нужно добавить к нему +:

android:id="@+id/text"

См. Документацию по Android: https://developer.android.com/guide / темы / щ / объявляя - макета # запись

0
frozenkoi 19 Сен 2018 в 03:52

МНЕ БЫ

Любой объект представления может иметь связанный с ним целочисленный идентификатор, чтобы однозначно идентифицировать представление в дереве. При компиляции приложения на этот идентификатор ссылаются как на целое число, но идентификатор обычно назначается в XML-файле макета в виде строки в атрибуте id. Это атрибут XML, общий для всех объектов View (определенный классом View), и вы будете использовать его очень часто. Синтаксис идентификатора внутри тега XML:

android:id="@+id/example"

Ат-символ (@) в начале строки указывает, что синтаксический анализатор XML должен проанализировать и развернуть оставшуюся часть строки идентификатора и идентифицировать ее как ресурс идентификатора. Знак плюс (+) означает, что это новое имя ресурса, которое необходимо создать и добавить к нашим ресурсам (в файле R.java). Платформа Android предлагает ряд других ресурсов ID. При ссылке на идентификатор ресурса Android знак плюса не требуется, но необходимо добавить пространство имен пакета Android, например:

android:id="@android:id/example"

Имея пространство имен пакета android, мы теперь ссылаемся на идентификатор из класса ресурсов android.R, а не из класса локальных ресурсов.

1
Ashvin solanki 19 Сен 2018 в 03:55