AndroidAnnotations + SherlockFragmentActivity — класс фрагмента не найден

У меня возникли проблемы с реализацией SherlockFragmentActivity с использованием AndroidAnnotations. Я использую проект начальной загрузки AndroidKickstartR.

Когда я запускаю действие, я получаю сообщение об ошибке:

java.lang.ClassNotFoundException: pl.itify.fichas.app.set.FichasSetsNewFragment_

До извлечения фрагментов приложение работало отлично, поэтому я предполагаю, что проблема не в конфигурации AndroidAnnotations.

Я уже пытался изменить SherlockFragment на Fragment или v4.Fragment, и ошибка была той же.

Я создаю приложение с помощью Maven. Я проверил целевую папку, класс pl.itify.fichas.app.set.FichasSetsNewFragment_ сгенерирован правильно и также включен в файл .jar.

У меня есть три класса:

Активность FichasSets:

@EActivity(R.layout.fichas_sets_activity)
@OptionsMenu(R.menu.fichas_sets_activity)
public class FichasSetsActivity extends SherlockFragmentActivity
{

    @FragmentById(R.id.fichas_set_list_new_fragment)
    FichasSetsNewFragment fichasSetsNewFragment;

    @FragmentById(R.id.fichas_set_list_list_fragment)
    FichasSetsListFragment fichasSetsListFragment;

}

FichasSetsNewFragment:

@EFragment(R.layout.fichas_sets_new_fragment)
public class FichasSetsNewFragment extends SherlockFragment {

}

FichasSetsListFragment:

@EFragment(R.layout.fichas_sets_list_fragment)
public class FichasSetsListFragment extends SherlockFragment {

}

Файл макета fichas_sets_activity.xml выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment
        android:id="@+id/fichas_set_list_new_fragment"
        android:name="pl.itify.fichas.app.set.FichasSetsNewFragment_"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <fragment
        android:id="@+id/fichas_set_list_list_fragment"
        android:name="pl.itify.fichas.app.set.FichasSetsListFragment_"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

Любая подсказка будет оценена, так как я застрял с проблемой уже пару часов :(

Ваше здоровье!


person iamovie    schedule 30.08.2013    source источник
comment
Вы уверены, что pl.itify.fichas.app.set.FichasSetsNewFragment_ должен иметь подчеркивание?   -  person M G    schedule 30.08.2013
comment
У меня также были сомнения, и я попытался удалить подчеркивание, но в конце концов обнаружил, что это четко указано здесь требуется подчеркивание.   -  person iamovie    schedule 30.08.2013
comment
Вы должны создать вопрос на AndroidKickstartR по этому поводу.   -  person DayS    schedule 30.08.2013
comment
Поскольку вы нашли решение, вы должны опубликовать его как ответ и пометить как принятое.   -  person Benito Bertoli    schedule 31.08.2013


Ответы (1)


ИЗМЕНИТЬ:

ФИКСИРОВАННЫЙ. Похоже, что конфигурация AndroidKickstartR Proguard отфильтровывает все фрагменты, поэтому в proguard.cfg пришлось внести небольшое изменение, а не удалять их:

-keep class android.support.v4.** { *; }

-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment

Я уже опубликовал проблему в Github AndroidKickstartR.

person iamovie    schedule 31.08.2013
comment
где ссылка на выпуск на github? - person Rakesh Waghela; 25.04.2014