0

問題は、onCreateメソッド内からuserId変数値にアクセスできないことです。2つの異なるアクティビティからアクティビティにアクセスしているので、どちらから来ているかを確認する必要があります。呼び出し元でこれを行いますが、userIdがクラス変数であっても、getDetailsUserIdメソッドによって返される値は常に0です。 。

たとえば、userIdを5で初期化すると、それはgetDetailsUserIdメソッドによって返される値です...onCreateメソッドからの値ではありません。

public class Details extends Activity {

    long userId;

    long getDetailsUserId(){
        return userId; //This is the variable value I can't get.
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_details);
        getActionBar().setDisplayHomeAsUpEnabled(true);

        final String caller;

        //Get previous activity name
        caller = getIntent().getStringExtra("com.mysite.myapp.Caller");

        //Get user id from "List"
        if(caller.equals("List")){
            List userListId = new List();
            userId = userListId.getUserListId();
        }

        //Get user id from "Profile Saved"
        else if(caller.equals("ProfileSaved")){
            ProfileSaved savedUserId = new ProfileSaved();
            userId = savedUserId.getSavedUserId();
        }

}
4

1 に答える 1

1

申し訳ありませんが、以前の回答を変更しました。それを試してみて、それは私のために働いた。

ここにあります

public static class Details extends Activity {

   static long userId;

    long getDetailsUserId(){
        return userId; //This is the variable value I can't get.
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.grid_layout);
        getActionBar().setDisplayHomeAsUpEnabled(true);

        final String caller;

        //Get previous activity name
        caller = getIntent().getStringExtra("com.mysite.myapp.Caller");

        //Get user id from "List"
        if(caller.equals("List")){
            List userListId = new List();
            userId = userListId.getUserListId();
        }

        //Get user id from "Profile Saved"
        else if(caller.equals("ProfileSaved")){
            ProfileSaved savedUserId = new ProfileSaved();
            this.userId = savedUserId.getSavedUserId();
        }

}

}
于 2012-12-19T07:29:13.747 に答える