Форум программистов, компьютерный форум, киберфорум
Xamarin
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
1 / 1 / 0
Регистрация: 12.01.2017
Сообщений: 22
1

Resource.Id

24.02.2018, 15:56. Показов 2355. Ответов 12
Метки нет (Все метки)

Здравствуйте. Возникла проблема с Resource.Id. Я не могу пользоваться этой функцией т.к. класс не содержит определение для Id. Я новичок в Xamarin и чего-то могу не знать. Может надо добавить эту функцию в класс resource.Designer. Пока он выглядит так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
namespace App2
{
    
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]
    public partial class Resource
    {
        
        static Resource()
        {
            global::Android.Runtime.ResourceIdManager.UpdateIdValues();
        }
        
        public static void UpdateIdValues()
        {
        }
 
        public partial class Attribute
        {
            
            static Attribute()
            {
                global::Android.Runtime.ResourceIdManager.UpdateIdValues();
            }
            
            private Attribute()
            {
            }
        }
        
        public partial class Layout
        {
            
            // aapt resource value: 0x7f020000
            public const int Main = 2130837504;
            
            static Layout()
            {
                global::Android.Runtime.ResourceIdManager.UpdateIdValues();
            }
            
            private Layout()
            {
            }
        }
        
        public partial class String
        {
            
            // aapt resource value: 0x7f030000
            public const int app_name = 2130903040;
            
            static String()
            {
                global::Android.Runtime.ResourceIdManager.UpdateIdValues();
            }
            
            private String()
            {
            }
        }
    }
}
Если проблема в чем-то другом, напишите, пожалуйста, что исправить.
Заранее спасибо.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2018, 15:56
Ответы с готовыми решениями:

Как стандартную панель приложения (Resource Qualifier)
Привет. В Resource Qualifier(UI Mode) есть несколько режимов отображения: Normal, Car Dock, Desk...

Ошибка в Android (Xamarin): 'Resource.Layout' does not contain a definition for 'Main'
Проблема, не могу понять ,почему создавая пустое приложение в VISUAL studio 2017 Xamarin Android...

Warning: Duplicate resource: Type 24 (user-defined), ID 1; File resource <>.res kept; file …\WindowsXP.res
аааааааааа.... что тут делать) я и этот файл .res удаляла и \WindowsXP.res тоже сначала пишет...

Resource id #7
Если пытаюсь забрать по mysql_fetch_assoc то выдает ошибку.. Warning: mysql_fetch_row(): supplied...

12
8 / 8 / 5
Регистрация: 15.03.2015
Сообщений: 156
25.02.2018, 09:07 2
Тебе нужно получить объект по id ?
0
1 / 1 / 0
Регистрация: 12.01.2017
Сообщений: 22
25.02.2018, 09:55  [ТС] 3
Да мне это нужно

Добавлено через 3 минуты
Его же можно так инициализировать?
0
8 / 8 / 5
Регистрация: 15.03.2015
Сообщений: 156
25.02.2018, 10:04 4
У всех объектов, производных от View есть метод FindViewById, это случайно не то, что тебе нужно ?

C#
1
2
3
4
            using (var btn = FindViewById<Button>(Resource.Id.btn_phone_code))
            {
                btn.Text = string.Format("+{0}", value);
            }
0
1 / 1 / 0
Регистрация: 12.01.2017
Сообщений: 22
25.02.2018, 10:21  [ТС] 5
Да, мне это нужно. Но мне выдаёт ошибку, что класс "Resource" не содержит определения для Id. Может я какую-то библиотеку не подключил?
0
8 / 8 / 5
Регистрация: 15.03.2015
Сообщений: 156
25.02.2018, 10:25 6
Чтобы id попал в ресурсы он должен быть объявлен, например так

XML
1
2
    <Button
        android:id="@+id/btn_phone_code"
Давай начнем с начала, а что ты хочешь сделать в итоге ?
0
1 / 1 / 0
Регистрация: 12.01.2017
Сообщений: 22
25.02.2018, 10:29  [ТС] 7
Хочу создать обработчик события для кнопки. Чтобы некая операция происходила по её нажатию.
0
8 / 8 / 5
Регистрация: 15.03.2015
Сообщений: 156
25.02.2018, 10:30 8
Id кнопке присвоил например так ?

XML
1
2
<Button
        android:id="@+id/btn_phone_code"
0
1 / 1 / 0
Регистрация: 12.01.2017
Сообщений: 22
25.02.2018, 10:31  [ТС] 9
android:id="@+id/button1"
Вроде так.
0
8 / 8 / 5
Регистрация: 15.03.2015
Сообщений: 156
25.02.2018, 10:35 10
А теперь в самом вью в конструкторе например получается вот такое :

C#
1
2
3
4
5
using (var btn = FindViewById<Button>(Resource.Id.button1))
            {
 
                btn.Text = string.Format("+{0}", value);
            }
1
1 / 1 / 0
Регистрация: 12.01.2017
Сообщений: 22
25.02.2018, 10:38  [ТС] 11
Извините, не очень понял куда этот код вставлять. В Mainactivity или в Resource.Designer?
0
8 / 8 / 5
Регистрация: 15.03.2015
Сообщений: 156
25.02.2018, 10:54 12
Не особо знаком с Xamarin.Android, у тебя где то там должен быть класс, производный от View.
Вот в нем и можно получить эту кнопку по id

Добавлено через 7 минут
Покопался в старых исходниках, вот так у меня работало
Правда это MVVMCross activity, но принципиальной разницы быть не должно

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class NewCityView : MvxActivity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
 
            EditText et = FindViewById<EditText>(Resource.Id.NewCityName);
            et.AfterTextChanged += Et_AfterTextChanged1;
 
        }
 
        private void Et_AfterTextChanged1(object sender, Android.Text.AfterTextChangedEventArgs e)
        {
            NewCityViewModel vm = ViewModel as NewCityViewModel;
            vm?.AfterTextChanged(); 
        }
 
    }
0
1 / 1 / 0
Регистрация: 12.01.2017
Сообщений: 22
25.02.2018, 11:00  [ТС] 13
Спасибо большое. Создал новый класс, который сделал наследником класса view. В нём можно инициализировать объект класса Button через Id.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.02.2018, 11:00

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Resource.Id
Здравствуйте ! Что сегодня ставится вместо : EditText txtName =...

Resource id #4
Добрый день! вот у меня такой скрипт &lt;?php $a=mysql_query(&quot;select foto_1 from fotki where...

Embedded Resource
Здравствуйте. Есть проект C# .dll в VS 2010. В проекте есть некоторый набор .txt файлов. Нужно при...

Binding Resource
Добрый день. В чем отличие между &lt;Button Content=&quot;{StaticResource ***}&quot;/&gt; &lt;Button...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.