我正在使用jsoup
解析网站。
我在mainactivity
中有一个映射
。
并且我需要将值cookies
传递给secondactivity
。
所以我创建了一个类实现pracelable
。
DataPasser dataPass = new DataPasser(id, pw, cookies);
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("data", dataPass);
MainActivity.this.startActivity(intent);
dataPasser dataPass = getIntent().getParcelableExtra("data");
String id = dataPass.getId();
String pw = dataPass.getPw();
Map<String, String> cookies = dataPass.getCookies();
java prettyprint-override">public class DataPasser implements Parcelable {
private String id;
private String pw;
Map<String, String> cookies;
public String getId() {
return id;
}
public String getPw() {
return pw;
}
public Map<String, String> getCookies() {
return cookies;
}
public DataPasser(Parcel in) {
this.id = in.readString();
this.pw = in.readString();
in.readMap(cookies, Map.class.getClassLoader()); /** NullPointerException here. **/
}
public DataPasser(String id, String pw, Map<String, String> cookies) {
this.id = id;
this.pw = pw;
this.cookies = cookies;
}
@Override
public void writeToParcel(Parcel out, int flags) {
out.writeString(id);
out.writeString(pw);
out.writeMap(cookies);
}
public int describeContents() {
return 0;
}
public static final Parcelable.Creator<DataPasser> CREATOR = new Parcelable.Creator<DataPasser>() {
public DataPasser createFromParcel(Parcel in) {
return new DataPasser(in);
}
public DataPasser[] newArray (int size) {
return new DataPasser[size];
}
};
}
但是,我在DataPasser
类中得到了一个NullPointerException
。
如何将map
传递给另一个活动?
另一种可能的解决方案是在DataPasser
中实现Serializable
接口
public class DataPasser implements Serializable {
像您一样从mainactivity.java
中传递数据
DataPasser dataPass = new DataPasser(id, pw, cookies);
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("data", dataPass);
MainActivity.this.startActivity(intent);
并在secondactivity.java
中获得相同的内容,如下所示
DataPasser dataPass = (DataPasser) getIntent().getExtras().get("data");
希望能成功。
对于parcelable
也请参考此内容
我想把意图转移到Xamarin.Android中的另一个活动。基本上,我需要Intent.data和Intent.clipdata到另一个活动,所以我使用下面的代码来传输Intent,但我不知道检索它的正确方法。 下面是Main Activity中的代码 在第二活动中 如何在第二个活动中检索意图?
我尝试使用 如有任何帮助,不胜感激,谢谢。
Activity-2(将所选图像设置为屏幕背景图像的活动)
在活动1中,我将一张图片从url加载到imageview中(使用glide)。当我切换到活动2时,我断开了网络连接,我需要在另一个imageview中加载相同的图像。我该如何实现这一点?使用glide缓存在某处的图像可以做到这一点吗?
在SO上也有类似的问题,但没有一个对我有效。 我想在Activity1中获取被点击的图像并在Activity2中显示它。 我获取被点击图像的图像id如下所示: 并通过意图传递给另一个活动。 任何帮助都很感激。
我有一个android studio任务,要求我们创建3个活动,其中一个活动有一个微调器和文本,我们必须将文本和选定的微调器值从活动传递到另一个活动,以显示输入。我知道如何传递文本,但我不太清楚如何对微调器执行同样的操作。这是微调器代码。