Facebookのボタンでフラグメントを作成しました。それは何度か働いていましたが、ナビゲーションアプリの引き出しを使用してフラグメントを開こうとすると、アプリがクラッシュしています。以下Facebookボタンのフラグメントが開けず、アプリケーションを終了しない
スタックトレースである:
E/AndroidRuntime:致命的な例外:メイン プロセス:com.myclass.myapp、PID:3526 れるjava.lang。 NullPointerException:仮想メソッド 'void com.facebook.AccessTokenTrackerを呼び出しようとしました。 startTracking()」com.myclass.myapp.FacebookLogin.onCreateにおけるNULLオブジェクト参照 (FacebookLoginの.java:82)で android.support.v4.app.Fragment.performCreateで (Fragment.java。 2177) android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1244) (android.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1080) android.support.v4)にあります。 app.FragmentTransition.calculateFragments(FragmentTransition.java:971) android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:95) android.support.v4.app.Fra android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2008)の に、android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2043)の を追加します。 android.os.Handler.dispatchMessageでandroid.os.Handler.handleCallback(Handler.java:751) でandroid.support.v4.app.FragmentManagerImpl $ 1.run(FragmentManager.java:710) で (Handler.java :95) とandroid.os.Looper.loop(Looper.java:154) とandroid.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(ネイティブメソッド) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller .run(ZygoteInit.java:865) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) アプリケーションが終了しました。フラグメントクラスの
コード:
public class FacebookLogin extends Fragment {
//initialize WebView
private TextView mTextDetails;
private CallbackManager mCallbackManager;
private AccessTokenTracker mTokenTracker;
private ProfileTracker mProfileTracker;
private FacebookCallback<LoginResult> mCallback=new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
AccessToken accessToken = loginResult.getAccessToken();
Profile profile = Profile.getCurrentProfile();
displayWelcomeMessage(profile);
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getActivity().getApplicationContext());
mCallbackManager=CallbackManager.Factory.create();
AccessTokenTracker tracker=new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken currentAccessToken) {
}
};
ProfileTracker profileTracker=new ProfileTracker() {
@Override
protected void onCurrentProfileChanged(Profile oldProfile, Profile currentProfile) {
displayWelcomeMessage(currentProfile);
}
};
mTokenTracker.startTracking();
mProfileTracker.startTracking();
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.facebook_login, container, false);
}
private void displayWelcomeMessage(Profile profile){
if (profile != null){
mTextDetails.setText(profile.getName());
}
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
LoginButton loginButton = (LoginButton) view.findViewById(R.id.login_button);
loginButton.setReadPermissions("user_friends");
loginButton.setFragment(this);
loginButton.registerCallback(mCallbackManager,mCallback);
mTextDetails = (TextView)view.findViewById(R.id.text_details);
}
@Override
public void onResume() {
super.onResume();
Profile profile=Profile.getCurrentProfile();
displayWelcomeMessage(profile);
}
@Override
public void onStop(){
super.onStop();
mTokenTracker.stopTracking();
mProfileTracker.stopTracking();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mCallbackManager.onActivityResult(requestCode,resultCode, data);
}
}
て貼り付けてくださいコードも...私たちは何を知りたいどう? –
@DharmbirSingh。コードを更新しました。ハッシュキーを生成するためにアプリケーションクラスを使用しました... –
以下の答えを確認してください... – rafsanahmad007