Visual Studio 2015-Xamarin-Android-получение " ресурса.id не содержит определения для xxx", когда я пытаюсь что-либо сделать.cs файл
Добавление Дополнительной Активности .cs и макет axml с помощью Visual Studio 2015.
Я очень новичок в разработке Xamarin и Andorid, но был разработчиком в течение нескольких лет, используя vb, а теперь c#. У меня есть простое приложение на Android 4.2, которое становится все сложнее, когда я иду вперед. Простое дело, что я хочу добавить дополнительный GpsAction.cs и соответствующий Gps.макет axml для проекта. Кажется, невозможно найти правильная компинация sytax для достижения этого. У меня есть mainActivity с main.axml. В VS 2015 его очень просто добавить новый, но я продолжаю получать "" ресурс.id не содержит определения для" Я был бы очень признателен за вашу помощь в этом
namespace AddCam
{
[Activity(Label = "GpsActivity")]
public class GpsActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.GpsLayout);
string c = FindViewById<TextView>(**Resource.Id.textView1**).Text;
// Create your application here
}
}
9 ответов
для людей, которые все еще сталкиваются с этой проблемой, по умолчанию Создать Действие файла макета будет установлено значение TransformFile
. Выберите макет, перейдите к свойствам макета и на панели Свойства выберите AndroidResource
как действие сборки. Clean создайте свой проект, и он должен работать.
Я изменил текстовое поле "id" с "@+id/imageView1" на "1", сохранил, перестроил и изменил его обратно на "@+id/imageView1 " он исправил его. Я хотел бы добавить, что вся эта проблема возникла из
- добавление нового действия и макета.
- используя существующий код формы другого приложения, которое у меня было.
- копирование и вставка кода из исходного приложения в новое действие и макет.
все довольно распространенным материал, реальная проблема, казалось, всегда добавляла любые новые действия и макеты к основной деятельности. Он может стать очень запутанным и без (известного мне) логического способа запуска проблемы с Xamarin. Не поймите меня неправильно по сравнению с 10 лет назад (последнее мобильное приложение, которое я пытался написать) Xamarin-это рай. Хорошие люди кодирования, теперь, если я могу понять, почему Ключевое слово"этой " является кольцом ошибок при добавленной активности.cs
вы должны добавить значение set дляandroid:id="@+id/button1"
в axml приложения, затем перестроить проект и повторите попытку.
такойButton button = (Button)FindViewById(Resource.Id.button1);
.
Что сработало для меня (Visual Studio 2017, открытие старого проекта Xamarin):
- удалить папки obj и bin, построить.
- Если ошибки, перезапустите Visual Studio (я знаю боль).
- снова построить
теперь ресурс будет виден (конечно, если вы его правильно определили).
лучшее решение, которое я нашел, - это построить решение. Выберите построить решение из меню сборки (или Ctrl+Shift+B). Это действие решит проблему.
моя проблема заключалась в том, что я пытался отладить проект Xamarin Android (родной) с помощью Xamarin Live Player, подключившись с помощью USB-кабеля и выбрав свое устройство для отладки, решил проблему
Регистрация ресурса.Файл класса конструктора. Будет такой класс, как public partial class Id
. Там записываются целочисленные идентификаторы элементов управления. Используйте их вместо ресурса.Id