Форум программистов, компьютерный форум CyberForum.ru

Переопределение ViewBinder на C# - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Загрузка картинки из ресурсов в Bitmap. Android 4.1.1 http://www.cyberforum.ru/android-dev/thread1555652.html
Добрый вечер. Дело заключается в следующем: я загружаю картинку из ресурсов (png) в Bitmap таким образом: BitmapFactory.decodeResource(getResources(), R.drawable.back_game Она у меня движется(делаю игру), все ок, но есть одно но: На андроидах ниже чем 4.2.2 после запуска игры приложение вылетает с ошибкой. Все перепробовал, и вот когда закомментил код с загрузкой картинки(тот что выше), игра...
Android не работает экран Asus Zenfone 2! Здравствуйте! Вчера у меня завис экран телефона и я перезагрузил телефон. когда телефон включился экран был просто черный (хотя заставка показывает),а сама систем не показывает. То есть мне звонят, я слышу звуки и тд, я слышу звук клавиш, а экран черный. 1 ЧТо делать? 2 можно ли сохранить фотографии через какую нибудь прогу на комп, а потом через комп сделать сброс до заводских настроек http://www.cyberforum.ru/android-dev/thread1555572.html
Android При нажатии на кнопку приложение закрывается
Здравствуйте. Возникла проблема и вот не знаю как решить. Запускал приложение на эмуляторе, все нормально работало. Теперь установил на телефон и тут начались проблемы. При нажатии на кнопку приложение закрывается. Но когда открываю вижу что по нажатии на кнопку данные все же в базу записались. Вот что выдает error log: While loading class...
Ошибка при публикации приложения в Play Market Android
Прежде чем опубликовать APK-файл в Google Play, запретите его отладку. Подробнее… Действие сертификата APK-файла ограничено. Загрузите APK-файл с собственным сертификатом. Вот что выдаёт,что делать?
Android Совмещение двух приложений http://www.cyberforum.ru/android-dev/thread1555394.html
Добрый всем день,дорогие форумчане!:tender: У меня к вам такой вопрос: У меня есть два приложения(исходники,не apk). Так вот, как мне сделать их в одном? Чтобы вот мы запустили одно приложение,а потом,если нам надо второе, то нажимаем на кнопку и запускается соответственно второе. Помогите:help::help:
Android Material Drawer Здравствуйте, помогите, пожалуйста, разобраться: 1) создал тулбар с менюшкой, отлично работает, однако если добавить в разметку еще слой и туда поместить карту, то всплывающее меню отображается под картой, а вытаскивается наверх нажатием наугад на итемы меню, при этом полоска тулбара висит поверх нормально и на этой полоске часть меню можно разглядеть. Пробовал поиграть с разметкой, но при... подробнее

Показать сообщение отдельно
Dmitrin
21 / 21 / 3
Регистрация: 04.12.2012
Сообщений: 529

Переопределение ViewBinder на C# - Android

18.10.2015, 22:10. Просмотров 156. Ответов 1
Метки (Все метки)

Здравствуйте. Пытаюсь сделать урок, только на C# на VS13 с Xamarin.

Код MainActivity

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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
[Activity(Label = "BinderAdapterAndProgressBar", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {
        const String ATTRIBUTE_NAME_TEXT = "text";
        const String ATTRIBUTE_NAME_PB = "pb";
        const String ATTRIBUTE_NAME_LL = "ll";
        static Color red = Android.Graphics.Color.Red, orange = Android.Graphics.Color.Orange, green = Color.Green;
 
        ListView lvSimple;
 
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
 
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
 
            // массив данных
            int[] load = { 41, 48, 22, 35, 30, 67, 51, 88 };
 
            // упаковываем данные в понятную для адаптера структуру
            IList<IDictionary<string, object>> data = new List<IDictionary<string, object>>(load.Length);
 
            JavaDictionary<string, object> m;
            for (int i = 0; i < load.Length; i++)
            {
                m = new JavaDictionary<string, object>();
                m.Add(ATTRIBUTE_NAME_TEXT, "Day " + (i + 1) + ". Load: " + load[i] + "%");
                m.Add(ATTRIBUTE_NAME_PB, load[i]);
                m.Add(ATTRIBUTE_NAME_LL, load[i]);
                data.Add(m);
            }
 
            // массив имен атрибутов, из которых будут читаться данные
            String[] from = { ATTRIBUTE_NAME_TEXT, ATTRIBUTE_NAME_PB, ATTRIBUTE_NAME_LL };
            // массив ID View-компонентов, в которые будут вставлять данные
            int[] to = { Resource.Id.tvLoad, Resource.Id.pbLoad, Resource.Id.llLoad };
 
            // создаем адаптер
            SimpleAdapter sAdapter = new SimpleAdapter(this, data, Resource.Layout.item, from, to);
            // Указываем адаптеру свой биндер
            sAdapter.ViewBinder = new MyViewBinder();
 
            // определяем список и присваиваем ему адаптер
            lvSimple = FindViewById<ListView>(Resource.Id.lvSimple);
 
            lvSimple.Adapter = sAdapter;
        }
 
        class MyViewBinder : SimpleAdapter.IViewBinder 
        {
            bool SimpleAdapter.IViewBinder.SetViewValue(View view, Java.Lang.Object data, string textRepresentation)
            {
                int i = 0;
                switch (view.Id)
                {
                    // LinearLayout
                    case Resource.Id.llLoad:
                        i = (int)data;
                        if (i < 40) view.SetBackgroundColor(green);
                        else if (i < 70) view.SetBackgroundColor(orange);
                        else view.SetBackgroundColor(red);
                        return true;
                    // ProgressBar  
                    case Resource.Id.pbLoad:
                        i = (int)data;
                        ((ProgressBar)view).Progress = i;
                        return true;
                }
                return false;
            }
 
            IntPtr IJavaObject.Handle
            {
                get { return new IntPtr(); }
            }
 
            void IDisposable.Dispose()
            {
                //throw new NotImplementedException();
            }
        }
    }
Выдает ошибку:
LocalizedMessage "android.widget.ProgressBar is not a view that can be bounds by this SimpleAdapter"

Это какие-то особенности на C# или я что-то не так делаю?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru