問題は、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();
}
}