如何从导航栏传递用户图像(获取来自Facebook的个人主页)到另一个活动
这是我的活动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
回答:
简化反序列化JSON你可以通过意图第二活动通过位图图像,因为它实现了Parcelable接口。
Bitmap profileBitmap = ((BitmapDrawable)user_picture.getDrawable()).getBitmap(); ridesameIntent.putExtra("profilePic", profileBitmap);
而在另一端:
Intent intent = getIntent(); Bitmap bitmap = (Bitmap) intent.getParcelableExtra("profilePic");
回答:
你好,这是我的代码由我摆脱这个问题
的在第一项活动
Profile profile = Profile.getCurrentProfile(); Bundle mBundle = new Bundle();
mBundle.putParcelable("pic", profile);
Intent loginint = new Intent(MainActivity.this,DashBoard.class);
loginint.putExtra("email",email);
loginint.putExtras(mBundle);
startActivity(loginint);
finish();
而在二你想表现的活动图片
Intent intent = getIntent(); Bundle mBundle =intent.getExtras();
Profile profile;
if (mBundle != null) {
profile = (Profile) mBundle.getParcelable("pic");
} else {
profile = Profile.getCurrentProfile();
}
Picasso.with(DashBoard.this)
.load(profile.getProfilePictureUri(400, 400).toString())
.into(mfbimage);
此处mfbimage是ImageView的对象,您要显示该配置文件图片。
以上是 如何从导航栏传递用户图像(获取来自Facebook的个人主页)到另一个活动 的全部内容, 来源链接: utcz.com/qa/262669.html