Вопрос по android – java.lang.IllegalArgumentException: параметр должен быть потомком этого представления Ошибка

2

У меня странная ошибка с ViewGroup. Для моего основного просмотра я использую классы в этих ссылкахПроект ViewFlow

    java.lang.IllegalArgumentException: parameter must be a descendant of this view
        at android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:4153)
        at android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:4090)
at android.view.ViewRootImpl.scrollToRectOrFocus(ViewRootImpl.java:2129)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:1849)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1641)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2449)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

Эта ошибка возникает, когда я пытаюсь вернуться к этому представлению с помощью Intent или finish (); Метод в другом представлении. Когда я использую кнопку "Назад", это не проблема.

Так что я не знаю, почему у меня есть эта ошибка. Спасибо за вашу помощь.

какая сторона кода вам нужна? Моя инициализация viewFlow, код Viewflow (уже связанный) или код моего второго действия, где я делаю финиш (); ? Substitut
где соответствующий код? Akram

Ваш Ответ

3   ответа
2

Есть такая же проблема. Я использую ViewFlow в качестве родительского представления и несколько GridView в качестве дочерних представлений. Эта ошибка возникает, когда я нажимаю клавишу «Домой» и снова запускаю действие после прокрутки этих дочерних представлений влево и вправо.

Вот мое решение:

mViewFlow.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);

Конечно, вы можете настроить его в layout.xml.

Надеюсь, что это может помочь вам.

пожалуйста, опишите решение.
благодарю вас. Но личный контакт не предпочтителен. Лучше, чтобы все здесь получили ответ кроме личного контакта.
Привет, Parixit, мне жаль, что я так поздно ответила тебе. Я написал блог, чтобы проанализировать это исключение, вот ссылка:cnblogs.com/monodin/p/3675040.html
ДЛЯ Parixt & # xFF1A; Я больше не могу с вами согласиться. Но у меня мало времени, чтобы перевести их каждый день. И я возьму две недели с этих выходных. После этого я переведу их как можно скорее.
Он написан на китайском, так что вы можете не понимать. Но решения находятся в конце этого блога, который включает в себя много кода, и я думаю, что вы можете получить некоторые вещи из них. Кроме того, мы приглашаем вас связаться со мной. Вот мой электронный адрес: [email protected]
0

Это работает для меня.

convertView = mInflater.inflate(R.layout.row_stat_header,
                    parent, false);  

Вот,parent является параметром ViewGroup в getView.

0

Решил мою проблему с добавлением слушателя прокрутки.

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    View currentFocus = ((Activity)mContext).getCurrentFocus();
    if (currentFocus != null) {
        currentFocus.clearFocus();
    }  
}

Похожие вопросы