저는 Android 앱을 개발 중이며 Facebook 로그인을 메인 페이지에 통합하고 싶습니다. 저도 같은 이러한 지침에 따라하고 다음 MainActivity 클래스를 변경 연습 목록의Android - 기존 Fragment와 Facebook SDK가 충돌하나요?
https://developers.facebook.com/docs/android/login-with-facebook/#step1
파트 FragmentActivity를 확장 할 수 있습니다. 그러나 MainActivity 클래스는 기본 뷰에서 구현 한 내용 슬라이더 때문에 이미 확장되었습니다. MainActivity의 원래 onCreate 코드는 다음과 같습니다.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Instantiate a ViewPager and a PagerAdapter.
mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new ScreenSlidePagerAdapter(getFragmentManager());
mPager.setAdapter(mPagerAdapter);
mPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
invalidateOptionsMenu();
}
});
}
그리고이 기능은 훌륭했습니다. 페이스 북 로그인 연습 후, 나는 가능한 한 그대로 방향을 다음과 같은 새로운 'MainFragment'클래스를 추가 :
public class MainFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.main, container, false);
return view;
}
}
은이 잘 표시 할 것 같다 (내 MainActivity 레이아웃에 com.facebook.widget.LoginButton 추가), 및 상기 MainActivity 클래스의 한 OnCreate 섹션에 다음을 추가하여 모두 함께 묶어 시도() 위의 표시하지만,지면 관계 상 자세한 내용은 다시 모든 것을 반복하지 :
if (savedInstanceState == null) {
// Add the fragment on initial activity setup
mainFragment = new MainFragment();
getSupportFragmentManager()
.beginTransaction()
.add(android.R.id.content, mainFragment)
.commit();
} else {
// Or set the fragment from restored state info
mainFragment = (MainFragment) getSupportFragmentManager()
.findFragmentById(android.R.id.content);
}
을 나는 근본적으로이 문제는 어떻게 기존의 슬라이더와 Facebook 로그인을 멋지게 연출할 수 있습니까? MainActivity의 OnCreate에 필요한 Facebook 코드를 추가하면 슬라이더가 사라집니다. 코드를 추가하지 않으면 Facebook 로그인이 작동하지 않습니다. 나는 뭔가를 잘못하고 있을지도 모른다고 생각하는 단편들에 대해 최대한 많이 읽었지 만 운이별로 없다 ...
미리 도움을 주셔서 감사합니다!
이에 대한 자세한 답변을 진심으로 감사하지만, 불행히도 내 디자인 요구 사항은 제안한대로 프로젝트를 재 설계 할만큼 충분히 유연하지 않습니다. MainActivity의 일부로 콘텐츠 슬라이더와 페이스 북 로그인 버튼을 함께 사용해야합니다. – someone29926