我与图书馆一起开展了一项图书馆 Activity 。 这个图书馆是图书馆: https://github.com/mikepenz/AboutLibraries
问题是,如果我尝试替换我创建的 fragment (我创建的是正确的,我很确定),我会收到一个错误
这是 Activity
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 "()"
怎么了? 我搜索了很多,但还没有找到解决方案。 帮助将不胜感激,谢谢
最佳答案
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 .
关于java - 替换 fragment 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34320391/