Intereting Posts
Как стиль цвета курсора SearchView в AppCompat Использование Java-констант из Scala в Android Отображение предложений для пустого SearchView Каков правильный способ обработки жизненного цикла Activity с помощью OpenGL Студия Android java.lang.NoClassDefFoundError: android.support.v4.app.NavUtilsJB Android CalendarView класс не может быть найден Ошибка: выполнение выполнено для задачи ': app: packageDebug'. >! Zip.isFile () Пожертвовать через биллинг в приложении Как автоматически проверять поведение в режиме Resume, вызывая onDestroy с помощью Robotium? Gradle не упаковывает gdbserver в apk. Ndk-gdb приводит к ошибке «ОШИБКА: не отлаживаемое приложение, установленное на целевом устройстве» Как мы можем нажать «.db» в эмулятор? Android MultiAutoCompleteTextView – отображение пользовательских представлений в нем Android – сделайте снимок без предварительного просмотра Можно ли включить ведение журнала DEX? Проблемы с камерой и фотографией для Android с Samsung Galaxy S3, S4, S5

Выпадающее меню Android-браузера не работает на устройствах Android 4.x

У меня проблема с одним из моих WebView на устройствах Android WebView

Android-приложение имеет Tabhost, который содержит фрагменты . Один из фрагментов содержит веб-просмотр. На отображаемой странице выпадающее меню выглядит следующим образом:

 <select id="mySelect" name="mySelect"> <option value="1">Testname 1</option> <option value="2">Testname 2</option> <option value="3">Testname 3</option> </select> 

Теперь, когда я открываю свое приложение с помощью Galaxy S3 с Android 4.1.1 (или любым другим устройством Android, на котором я мог бы взять свои руки), я могу выбрать «Testname 1», затем «Testname 2» и так далее.

На Galaxy Nexus (подтвержденный на разных устройствах под управлением Android 4.1.1, 4.1.2 и 4.2), когда я пытаюсь выбрать что-то, UI просто блокирует. После того, как я переключусь на другую вкладку и обратно на вкладку веб-просмотра, пользовательский интерфейс, наконец, изменится на ранее выбранный элемент.

Любая идея, что вызывает это или как я могу это исправить для Galaxy Nexus?

Важное обновление: я мог отследить это до Tabhost . Когда webview находится в tabhost он не работает, когда он не работает. Это может быть связано с этой проблемой .

Вы действительно можете сделать больше с ActionBar, чем можете, используя только TabHost. Включая вкладки. Ссылка позволит вам реализовать ActionBar в более старых версиях minSdk = 4. Большинство разработчиков User Experience, с которыми я работал, полагают, что вкладки выглядят как passe, хотя они предоставляют знакомый пользовательский интерфейс пользователям, но кто я, ветер? ActionBar обеспечивает особый внешний вид Android и чистоту интерфейса пользователя. Ссылка – это документация по рекомендуемым шаблонам пользовательского интерфейса Google на этой конференции. Ссылка – видео на YouTube, обсуждающее шаблоны пользовательского интерфейса на конференции. Следуя этим рекомендациям, вы можете лучше проанализировать свое приложение и более сложный пользовательский интерфейс. Я не уверен, что ваши потребности, но если вы собираетесь что-то сделать, может также сделать это правильно? Если вам нужна дополнительная помощь, пожалуйста, дайте мне знать. Я могу привести примеры использования ActionBar. Ссылка ActionBar может дать вам несколько лучших причин, по которым я могу, почему это хороший выбор для пользовательского интерфейса.

Правильно ли вы реализуете свои фрагменты? Ссылка – это документация по их использованию. Если вы используете динамические фрагменты вместо фиксированных фрагментов, реализованных в макете, один трюк, который я нашел при написании приложений, – это вызвать .clearBackStack (); Когда у меня возникают смешные проблемы, и, похоже, у меня много проблем.

TabHost в ICS? Вы используете пакет совместимости? Правильный дизайн будет заключаться в том, чтобы использовать ActionBar для реализации вкладок, если вы работаете в основном в формате 3.1+.

Попробуйте использовать этот пользовательский класс в своем XML-макете вместо обычного TabHost:

 package com.example.test; import android.content.Context; import android.util.AttributeSet; import android.widget.TabHost; public class TabHostFix extends TabHost { public TabHostFix(Context context) { super(context); } public TabHostFix(Context context, AttributeSet attrs) { super(context, attrs); } @Override public void onTouchModeChanged(boolean isInTouchMode) { //do not call through to base class, do nothing //this is a fix for tabhost stealing focus from textboxes } } 

Ссылка на пользовательский класс в вашем XML-макете:

 <?xml version="1.0" encoding="utf-8"?> <com.example.test.TabHostFix xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TabWidget android:id="@android:id/tabs" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="48dp" android:layout_weight="0"/> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="0" /> <FrameLayout android:id="@+android:id/realtabcontent" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> </LinearLayout> </com.example.test.TabHostFix> 

EDIT: в качестве альтернативного решения вы можете полностью заменить TabHost, используя ViewPager из библиотеки поддержки и пользовательский индикатор Pager, который имитирует вкладки. Я никогда не пробовал это раньше, но я прочитал, что здесь есть хорошие бесплатные индикаторы пейджера.

После выбора выбора данные элемента списка могут измениться, но мы не можем увидеть изменение. Для этого нам нужно явно обновить выбранный компонент. Надеюсь, это может решить проблему.

$("select#HeightUnit option[value='cm']").attr("selected", "selected"); $('select').selectmenu('refresh');

 > i think u must add the API version on your activity cause some UI cannot compatible on >android API 8. so check the API SDK like this. >@TargetApi(Build.VERSION_CODES.GINGERBREAD) >if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) >{ >// condisition >}