• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何从导航栏传递用户图像(获取来自Facebook的个人主页)到另一个活动

Android 来源:Shubhendra 3次浏览

这是我的活动1如何从导航栏传递用户图像(获取来自Facebook的个人主页)到另一个活动

final Intent ridesameIntent = new Intent(this, Activity2.class); 
    TextView userText = (TextView) findViewById(R.id.username); 
    ImageView userImage = (ImageView) findViewById(R.id.profile_pic); 
    String userNameMessage = userText.getText().toString(); 
    String userPicMessage = userImage.toString(); 
    ridesameIntent.putExtra(EXTRA_MESSAGE_USERNAME,userNameMessage); 
    ridesameIntent.putExtra(EXTRA_MESSAGE_USERPIC,userPicMessage); 
    startActivity(ridesameIntent); 

这是活动2

Intent userDetail = getIntent(); 
    String userPicMessage = userDetail.getStringExtra(Activity1.EXTRA_MESSAGE_USERPIC); 
    String userNameMessage = userDetail.getStringExtra(Activity1.EXTRA_MESSAGE_USERNAME); 
    TextView userdetail1 = (TextView) findViewById(R.id.username_scroll); 
    ImageView userdetail2 = (ImageView) findViewById(R.id.profile_pic_scroll); 
    userdetail1.setText(userNameMessage); 
    userdetail2.setImageURI(Uri.parse(userPicMessage)); 

我试图传递的URI,但获得没有结果传递用户图片 也在这里寻求帮助是从Facebook获取用户个人资料并将其设置到活动1的导航栏中的代码

public void setUserProfile(String jsondata) { 

    try { 
     response = new JSONObject(jsondata); 
     user_email.setText(response.get("email").toString()); 
     user_name.setText(response.get("name").toString()); 
     profile_pic_data = new JSONObject(response.get("picture").toString()); 
     profile_pic_url = new JSONObject(profile_pic_data.getString("data")); 

     Picasso.with(this).load(profile_pic_url.getString("url")) 
       .into(user_picture); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

所以,请建议我我如何能得到图像的活动2.

===========解决方案如下:

profile_pic_url.getString("url")提取这个值到一个变量,并把它作为你的意图额外的,然后在setUserProfile在你的第二个活动与毕加索加载它像方法。

编辑。 因此,在您的load()方法中,您在此行的setUserProfile(String jsondata)方法Picasso.with(this).load(profile_pic_url.getString("url")).into(user_picture);中,通过调用profile_pic_url.getString("url")JSONObject中提取url字符串。您可以从通过右键单击该语句创建一个字段 – >重构 – >提取物 – >场……然后打电话把它作为额外给你的意图,在你的第二个电话的活动呼吁ridesameIntent.putExtra(EXTRA_MESSAGE_USERPIC, fieldNameThatYouExtracted);

然后 Picasso.with(this).load(userPicMessage).into(userPicMessage);代替userdetail2.setImageURI(Uri.parse(userPicMessage));

之后,你可以学习如何使用GSON库Leveraging the Gson Library


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)