2017-07-07 6 views
0
public class MainActivity extends AppCompatActivity 
     implements LoginSocial.OnFragmentInteractionListener, Updates.OnFragmentInteractionListener,View.OnClickListener,GoogleApiClient.OnConnectionFailedListener { 
    private SignInButton sign; 
    private GoogleApiClient googleApiClient; 
    static final int Set_Ringtone = 0; 
    static final int PICK_CONTACT_REQUEST = 1; 
    private static final int RC_SIGN_IN = 9001; 
    private String TAG; 
    private Toolbar toolbar; 
    private TabLayout tabLayout; 
    private ViewPager viewPager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     FacebookSdk.sdkInitialize(getApplicationContext()); 

     setContentView(R.layout.activity_main); 
     initializeControls(); 
     loginWithFB(); 
     toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

     viewPager = (ViewPager) findViewById(R.id.viewpager); 
     setupViewPager(viewPager); 

     tabLayout = (TabLayout) findViewById(R.id.tabs); 
     tabLayout.setupWithViewPager(viewPager); 


     sign = (SignInButton)findViewById(R.id.sign_in_button); 

     sign.setOnClickListener(this); 


    } 
    @Override 
    public void onClick(View view) { 

     switch (view.getId()) 

     { 
      case R.id.sign_in_button: 
       sign(); 
       break; 
     } 
    } 

    private void sign() { 
     Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient); 
     startActivityForResult(signInIntent, RC_SIGN_IN); 
    } 



    @Override 
    public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { 

    } 



    private void handleResult(GoogleSignInResult result) { 

     Log.d(TAG, "handleSignInResult:" + result.isSuccess()); 
     if (result.isSuccess()) { 
      // Signed in successfully, show authenticated UI. 
      GoogleSignInAccount acct = result.getSignInAccount(); 
      updateUI(true); 
     } else { 
      // Signed out, show unauthenticated UI. 
      updateUI(false); 
     } 


    } 

    private void updateUI(boolean b) { 


    } 





    private void setupViewPager(ViewPager viewPager) { 
     ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); 
     adapter.addFragment(new LoginSocial(), "ONE"); 
     adapter.addFragment(new Updates(), "TWO"); 
     viewPager.setAdapter(adapter); 


    } 



    @Override 
    public void onFragmentInteraction(Uri uri) { 

    } 

    class ViewPagerAdapter extends FragmentPagerAdapter { 
     private final List<Fragment> mFragmentList = new ArrayList<>(); 
     private final List<String> mFragmentTitleList = new ArrayList<>(); 

     public ViewPagerAdapter(FragmentManager manager) { 
      super(manager); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      return mFragmentList.get(position); 
     } 

     @Override 
     public int getCount() { 
      return mFragmentList.size(); 
     } 

     public void addFragment(Fragment fragment, String title) { 
      mFragmentList.add(fragment); 
      mFragmentTitleList.add(title); 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      return mFragmentTitleList.get(position); 
     } 
    } 


    TextView txtStatus; 
    LoginButton fb_login; 
    CallbackManager callbackManager; 



    private void initializeControls(){ 

     callbackManager = CallbackManager.Factory.create(); 
     txtStatus = (TextView) findViewById(R.id.txtStatus); 
     fb_login = (LoginButton) findViewById(R.id.fb_login); 
    } 


    private void loginWithFB(){ 

     LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
      @Override 
      public void onSuccess(LoginResult loginResult) { 
       txtStatus.setText("Login Success"); 
      } 

      @Override 
      public void onCancel() { 
       txtStatus.setText("Login Cancelled."); 
      } 

      @Override 
      public void onError(FacebookException error) { 
       txtStatus.setText("Login Error:"+error.getMessage()); 
      } 
     }); 
    } 



    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 




      callbackManager.onActivityResult(requestCode, resultCode, data); 




     if (requestCode == RC_SIGN_IN) { 
      GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
      handleResult(result); 


     } 

答えて

1

を「loginWIthFB」のリクエストコードを書くためにどのように要求コードするFacebookからであるかどうかを確認するためにFacebookSdk.isFacebookRequestCode()を使用することができます。

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    super.onActivityResult(requestCode, resultCode, data); 
    if (FacebookSdk.isFacebookRequestCode(requestCode) { 
     // Facebook 
     callbackManager.onActivityResult(requestCode, resultCode, data); 
    } else if (requestCode == RC_SIGN_IN) { 
     // Google 
     GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
     handleResult(result); 
    } 
} 
+0

こんにちは、私はエミュレータで私のアプリを開くことができません。私はTablayoutに問題があると感じています。私はTablayoutなしでコードを試して、それは働いた。しかし、Tablayoutではそれが開かない。これで助けてください。事前に感謝します –

+0

これは、元の質問とは異なる問題であるため、新しい質問を投稿することをお勧めします。問題の特定を容易にするためにエラーログを含めるようにしてください。私は助けるために全力を尽くします。 – 345

+0

ありがとうございます。私は私の質問をこのリンクhttps://stackoverflow.com/questions/45000222/unable-to-open-the-app-in-emulator-due-to-tablayout-i-guess?noredirect=1#comment76974676_45000222に掲載しました。どうもありがとうございました –

関連する問題