#android #android-layout #android-fragments #android-edittext
#Android #android-макет #android-фрагменты #android-редактировать текст #android-edittext
Вопрос:
Мое приложение продолжает сбоить, когда я нажимаю на edittext во второй раз на устройствах с диагональю 7 и 10 дюймов. То же самое приложение отлично работает на мобильных устройствах. Я разрабатываю приложение для альбомной ориентации. Вот мой журнал
FATAL EXCEPTION: main
Process: com.android.TabletApp, PID: 15773
android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.Resources.getValue(Resources.java:1251)
at android.content.res.Resources.getDrawable(Resources.java:758)
at android.widget.Editor$InsertionPointCursorController.getHandle(Editor.java:3621)
at android.widget.Editor$InsertionPointCursorController.show(Editor.java:3600)
at android.widget.Editor.onTouchUpEvent(Editor.java:1658)
at android.widget.TextView.onTouchEvent(TextView.java:7957)
at android.view.View.dispatchTouchEvent(View.java:7789)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2326)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2031)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2326)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2031)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2326)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2031)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2326)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2031)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2326)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2031)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2326)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2031)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2326)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2031)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2326)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2031)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2326)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2031)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2326)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2031)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2133)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1557)
at android.app.Activity.dispatchTouchEvent(Activity.java:2491)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneW indow.java:2081)
at android.view.View.dispatchPointerEvent(View.java:7980)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4392)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4263)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3809)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3859)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3828)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3935)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3836)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3992)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3809)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3859)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3828)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3836)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3809)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6124)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6104)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6058)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6254)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:138)
Я использую простой edittext. Отлично работает с мобильными устройствами, не работает на планшете. Все приложение находится в альбомной ориентации.
Комментарии:
1. pradip_android: используете ли вы какой-либо макет и для планшета. Пожалуйста, предоставьте свой макет и файл класса для получения более подробной информации.
2. Вы помещаете свой чертеж в неправильную папку, поместите его в общую папку для рисования.
3. @Janak Я использовал ScrollView и линейную компоновку/square_background» />
4. @Pitty Я поместил чертежи в общую папку
5. @ pradip_android вы должны проверить и отладить событие onTouch в EdiText, ваше событие касания может создать проблему с кодом.
Ответ №1:
Убедитесь, что вы создали следующие чертежи:
// for Phones
drawable-ldpi
drawable-mdpi
drawable-hdpi
//for 7 inch tablets
drawable-large-mdpi
drawable-large-hdpi(for Nexus 7)
// for 10 inch tablets
drawable-xlarge-mdpi
и поместите square_background в каждый из них.
Комментарии:
1. Я создал drawable-hdpi, drawable-mdpi, drawable-ldpi, drawable-sw600dp, drawable-sw720dp и все устройства, использующие правильные чертежи из этих папок.
2. kgandroid — я пытался поместить square_background в каждый из них, но все еще не работает
3. попробуйте это в своем манифесте: <поддержка экранов android: largeScreens =»true» android:normalScreens =»true» android: smallScreens =»true» android: anyDensity =»true»> </ supports-screens>
4. kgandroid — Спасибо, но все еще не исправлено. получаю ту же ошибку