Grrr...
Я создаю подкласс представления как внутренний класс в моем Действии. Прежде чем я просто связался с этим представлением от своего действия с:
setContentView(new CustomView(this));
без проблем.
Теперь, однако, мое представление становится более сложным, таким образом, я делаю его частью FrameLayout так, чтобы я мог сделать это основным представлением и добавить виджет Счетчика сверху его. Проблема, когда я делаю это, я получаю ошибку:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.grafightscratch.ochemmer/com.grafightscratch.ochemmer.MoleculeTablet}: android.view.InflateException: Binary XML file line #4: Error inflating class com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView
...
Caused by: android.view.InflateException: Binary XML file line #4: Error inflating class com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView
...
Caused by: java.lang.ClassNotFoundException: com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView in loader dalvik.system.PathClassLoader@43b74a28
Таким образом - это представление работало, прежде, когда я связался с ним непосредственно, но когда я пытался добавить его в файле main.xml как часть framelayout, я получил вышеупомянутую ошибку. Я также пытался поместить в расположение с только этим отображаемый через:
<com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/molecule_tablet_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
Ничто не работает. Я продолжаю получать ошибки InflateException/ClassNotFoundException. Это жалуется на "строку № 3" в двоичном XML-файле, и если это говорит о main.xml, который является объявлением пакета, которое я трижды проверил.
ОТРЕДАКТИРУЙТЕ я пытался делать это представление отдельным классом (т.е. - не внутренний класс), и оно работает. После некоторого поиска вокруг я нашел некоторые сообщения, говоря, что тег XML должен быть похожим на это:
<com.grafightscratch.ochemmer.MoleculeTablet$MoleculeTabletView ...>
Т.е., знак доллара должен использоваться для разделения innerclass от основного класса. Однако Eclipse блюет на этом, называет это ошибкой и отказывается позволять мне создать или развернуться с тем символом там. Таким образом, теперь вопрос становится: как делает одну ссылку Представление, которое является внутренним классом?
Сначала загрузите модуль PECL с веб-сайта php.
Затем распакуйте его и скопируйте php_http.dll файла в папку расширения PHP. Затем отредактируйте файл php.ini (c :\WINDOWS\php.ini) и активируйте модуль
extension=php_http.dll
-121--3329804- Хороший вопрос.
Не кажется, что в Интернете об этом, но я нашел Native File Storage Types (вторая таблица вниз), который показывает каждый собственный тип места хранения файлов и то, что он записан в соответствующий тип данных файла хоста.
например.
float = SQLFLT8
real = SQLFLT4
money = SQLMONEY
numeric = SQLNUMERIC
Приносите извинения, если вы уже столкнулись с этим списком.
-121--1918130-Для внутренних классов синтаксис становится следующим:
<view class="com.grafightscratch.ochemmer.MoleculeTablet$MoleculeTabletView" />
Причина в том, что $ является недопустимым символом в тегах XML.
Вам необходимо указать полностью квалифицированное имя вашего класса View В XML для инфляции к работе и просмотру класса будет найден системой выполнения.
Поскольку вы объявили ваше представление как внутренний класс вашей деятельности, полностью квалифицированное имя будет:
Вы уверены com.grafightscratch.ochemmer.CustomView
Полностью квалифицированное имя вашего класса?
Править: Спасибо, что напомнили мне об этом. Когда представления объявлены как вложенные классы, есть небольшая аберрация, см. Используйте пользовательский компонент этого документа.