无法从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);
谢谢