1

Я сделал деятельность библиотек с библиотекой. Эта библиотека является библиотека: https://github.com/mikepenz/AboutLibrariesОшибка при замене Фрагмент

Проблема в том, я получаю ошибку ANN, если я пытаюсь заменить фрагмент, который я создал (я создал correclty, я совершенно уверен)

Это деятельность

public class LibrariesActivity extends AppCompatActivity { 

    public static AppCompatActivity activity; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_libraries); 

     // Set up the action bar. 
     Toolbar toolbar = (Toolbar) findViewById(R.id.barlibraries); // Attaching the layout to the toolbar object 
     toolbar.setNavigationIcon(R.drawable.ic_back); 
     toolbar.setTitle(R.string.libraries_title); 
     toolbar.setNavigationOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       finish(); 
      } 
     }); 


     LibsFragment fragment = new LibsBuilder() 
       .withLibraries("gitty_reporter", "appintro", "aboutlibraries") // definitions in strings.xml 
       .withExcludedLibraries("androideasingfunctions") 
       .withAutoDetect(true) 
       .withLicenseShown(true) 
       .withVersionShown(false) 
       .withListener(new LibsConfiguration.LibsListener() { 
        @Override 
        public void onIconClicked(View view) { 

        } 

        @Override 
        public boolean onIconLongClicked(View view) { 
         return false; 
        } 


        @Override 
        public boolean onLibraryAuthorClicked(View v, Library library) { 
         return true; 
        } 

        @Override 
        public boolean onLibraryBottomClicked(View v, Library library) { 
         return true; 
        } 

        @Override 
        public boolean onLibraryAuthorLongClicked(View v, Library library) { 
         return true; 
        } 

        @Override 
        public boolean onLibraryBottomLongClicked(View v, Library library) { 
         return true; 
        } 


        @Override 
        public boolean onLibraryContentClicked(View v, Library library) { 
         return false; 
        } 

        @Override 
        public boolean onExtraClicked(View v, Libs.SpecialButton specialButton) { 
         return false; 
        } 

        @Override 
        public boolean onLibraryContentLongClicked(View v, Library library) { 
         return true; 
        } 


       }) 
       .fragment(); 

     FragmentManager fragmentManager = getSupportFragmentManager(); 
     fragmentManager.beginTransaction.replace(R.id.about_libraries_container,fragment).commit(); 
    } 

} 

Когда я пытаюсь заменить я получить

error: expected at this line:

fragmentManager.beginTransaction().replace(R.id.about_libraries_container,fragment). 

Error in the "()"

Что не так? Я искал много и еще не нашел решение. Помощь будет оценена, спасибо

ответ

1

LibsFragment расширяет android.app.Fragment, но вы используете android.support.v4.app.FragmentManager, который работает только с android.support.v4.app.Fragment.

Эта библиотека содержит LibsFragment, которая содержит android.support.v4.app.Fragment - LibsSupportFragment.

Решение должно заменить LibsFragment на LibsSupportFragment и .fragment() с .supportFragment(). Подробнее об этом here.

+0

Я написал это неправильно, это была ошибка типографии, проблема в том, что он говорит «не удалось заменить символ заменить» –

+0

@JonathanI, я отредактировал ответ –

+0

, мой друг сделал это без ошибок, посмотрите на это https: //github.com/Desno365/Desno365sMods/blob/48b228707855f41a346b2a4a441a28ec5646d607/app/src/main/java/com/desno365/mods/Activities/LibrariesActivity.java –

Смежные вопросы