[英]How to access a class variable by passing value to object from another variable?
[英]Unable to access changed value of variable from another class in 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时,它显示为空值。 我想访问在LoginSignupActivity.java中获得的值。
请帮忙。 谢谢
尝试公开ID,我认为您应该将其抛出LoginSignUpActivity.id
如果仅一次登录,我建议您使用SharedPreference。
作为:
public static String id="NA";
如果您的代码行未收到ID,您将得到NA:
id=response.getJSONObject().getString("id");
正如您在评论中所讲的,您应该仅在获得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);
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.