无法从android studio中的另一个类访问变量的变量值

我创建了两个类,一个是LoginSignupActivity.java,另一个是ProfileActivity.java

LoginSignUpActivity.java —

public class LoginSignupActivity extends AppCompatActivity { ** static string id; ** public void getUserDetailsFromFB() { GraphRequest request = GraphRequest.newMeRequest( AccessToken.getCurrentAccessToken(), new GraphRequest.GraphJSONObjectCallback() { @Override public void onCompleted(final JSONObject object, GraphResponse response) { try{ ** id=response.getJSONObject().getString("id");** } catch (JSONException e) { //If anything goes wrong Log.e("my",e.toString()); } }) } } } 

ProfileActivity.java —

 public class ProfileActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_profile); ImageView imageView = (ImageView) findViewById(R.id.dp); if(imageView!=null){ ** String fbid = (new LoginSignupActivity).getUserDetailsFromFB().id; ** if(fbid!=null){ Glide.with(this).load("http://graph.facebook.com/1615242245409408/picture?type=large").into(imageView); //Glide.with(this).load("http://graph.facebook.com/" + "1675239799409652" + "/picture?type=large").into(imageView); Log.d("mayank", LoginSignupActivity.id); } else{ Log.d("mayank","null facebook id"); } } else { Log.d("mayank","null image view"); } } } 

当我在ProfileActivity.java中访问id时,它显示null值。 我想访问在LoginSignupActivity.java中获取的值。

请帮忙。 谢谢

尝试将id公开,我认为你应该得到它抛出LoginSignUpActivity.id

如果登录只有一次,我建议你使用SharedPreference。

做:

 public static String id="NA"; 
  • 使用String而不是string。 Android Studio“无法解析符号字符串”
  • 项目清单

如果您的代码行未收到ID,您将获得NA:

  id=response.getJSONObject().getString("id"); 

正如你在评论中所说,你应该在获得它之后使用id的值

  id=response.getJSONObject().getString("id"); 

我应该只在获得下面的id值后才启动ProfileActivity.java:

 id=response.getJSONObject().getString("id"); Intent intent=new Intent(LoginSignupActivity.this,ProfileActivity.class); startActivity(intent); 

谢谢