0

Facebook でログインして、ユーザーの情報を別のアクティビティに渡そうとしています 問題は、onclick イベントがフリーズして何もしないという意図で startActivity メソッドを実行したときです。

いくつかの文字列を保持する Serializable を実装するクラスを作成しました

次に、ユーザーがFacebookでログインすると、そのクラスのインスタンスを作成して、他のアクティビティに渡すことができます

コードは次のとおりです。

Session.openActiveSession(me, true, new StatusCallback()
        {
            @Override
            public void call(Session session, SessionState state, Exception exception) 
            {
                if(session.isOpened())
                {
                    Request.executeMeRequestAsync(session, new Request.GraphUserCallback() 
                    {

                        @Override
                        public void onCompleted(GraphUser user, Response response)
                        {
                             if(user!=null)
                             {      
                                GraphLocation location= user.getLocation();
                                String address = location.getStreet()+","+location.getCity()+","+location.getState()+","+location.getCountry();
                                b.setVisibility(View.VISIBLE);

                                 Fuser = new FBuser(
                                        user.getName(),
                                        user.getFirstName(),
                                        user.getLastName(),
                                        user.getBirthday(),
                                        user.getId(),
                                        user.getInnerJSONObject(),
                                        user.getLink(),
                                        address,
                                        user.getUsername());


                             }
                        }
                    });
                }
            }
        });

ご覧のとおり、ボタンを表示するように設定し、ユーザーがボタンをクリックすると、アクティビティを開始してユーザー オブジェクトを渡します。

b.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) 
            {
                final Login log = (Login) me;

                final FBuser user = Fuser;
                final Intent i = new Intent(getBaseContext(),Profile.class);
                i.putExtra("user", user);
                try 
                {
                log.startActivity(i);
                }
                catch (Exception e)
                {
                    e.getMessage();
                }                                       
            }
        });

    }

しかし、ボタンがフリーズしても何も起こらず、何も起こりません。

なぜこれが起こったのでしょうか?

4

0 に答える 0