我想将数据存储在ArrayList中并在另一个类中访问它,但是当我访问时arraylist
,它arraylist.size()
是0。意味着我没有访问相同的arraylist。有人告诉我我做错了。
这是我的POJO课
public class item {
private String name;
private String body;
private String profileImage;
public Item(){
}
public Item(String body,String name,String profileImage){
this.body = body;
this.name = name;
this.profileImage = profileImage;
}
//Getter and setter
这是我将数据存储在 A类中的方法 , 该类 已经过检查,已成功将其插入到arraylist中。
A级
List<Item> items = new ArrayList<>();
Item item = new Item();
item.setBody(body);
item.setName(name);
item.setProfileImage(profileImage);
items.add(item);
问题出在 B类中, 当我访问item.size()
它的返回值0时,意味着我没有访问相同的arraylist。
这是我在 B类中* 所做的 *
List<Item>items = new ArrayList<>();
Log.d("ListSize",String.valueOf(items.size()));
我尝试过RecycleView
之前做过的事情,但这不起作用,因为我的B类是Fragment活动
public Class B(Context mContext, List<Item> items) {
this.mContext = mContext;
this.items = items;
}
那么,什么是正确的办法,我初始化我数据保存到ArrayList A类 的 B类 ?
像这样更改类:
public class Item implements Parcelable{
private String name;
private String body;
private String profileImage;
public Item(){
}
public Item(Parcel in) {
name = in.readString();
body = in.readString();
profileImage = in.readString();
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeString(body);
dest.writeString(profileImage);
}
@SuppressWarnings("unused")
public static final Parcelable.Creator<Item> CREATOR = new Parcelable.Creator<Item>() {
@Override
public Item createFromParcel(Parcel in) {
return new Item(in);
}
@Override
public Item[] newArray(int size) {
return new Item[size];
}
};
public Item(String body,String name,String profileImage){
this.body = body;
this.name = name;
this.profileImage = profileImage;
}
现在处于A类:
ArrayList<Item> mDATA = new ArrayList<>();
/****** add values in array list ****/
Intent i = new Intent(CLASS_A.this, CLASS_B.class);
i.putParcelableArrayListExtra("ARRAY_DATA", mDATA);
startActivity(i);
现在在B类中,获取列表:
Intent intent = getIntent();
ArrayList<Item> mDATAFROMA = new ArrayList<>();
try {
mDATAFROMA = intent.getParcelableArrayListExtra("ARRAY_DATA");
Log.d("ListSize",String.valueOf(mDATAFROMA.size()));
} catch (Exception e) {
e.printStackTrace();
}
对于破裂通过:
Bundle args = new Bundle();
args.putParcelableArrayList("GET_LIST", (ArrayList<? extends Parcelable>) mDATA);
fragmentDemo.setArguments(args);
并在片段中获取:
ArrayList<Item> mDATAFROMA = new ArrayList<>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle pb=getArguments();
mDATAFROMA = pb.getParcelableArrayList("GET_LIST");
}
问题内容: 我有一堂课,称为extends 。 现在,在我的父级活动中,我想“运行”此片段。 这是我的: 如何运行/启动片段?我希望我的方法可以触发。 问题答案: 有很多文档!您需要的一切已经在这里。 当然,您需要在活动布局中使用该容器。
这是我想用typescript中的mocha chai测试框架测试的类。我用ts mockito来模仿。 ClassAResource类看起来像这样, 在我的测试中,我试图模仿ClassAResource的getJob方法,如下所示, 我这样调用ClassA cancel方法, 我希望取消方法中的getJobs调用被模拟并返回一个作业对象。 但是这次考试并没有按照我的预期进行。Mock不会出现在图
简而言之,我创建了一个类Something witch具有一个带有JFrame的函数,其中我有一个标签和一个按钮。在按钮上有一个addActionListener(new changeLabel())。我在src包中为侦听器类了changeLabel,但当我启动应用程序并单击按钮时,在changeLabel上抛出一个NullPointerException NameLabel.setText(“N
我的kotlin项目有两个activitis(main,第二个名为:AddPlayer)。main活动有一个名为“添加播放器”的按钮,它启动第二个活动。在第二个活动中,我有两个编辑文本来获得一个数字和一个来自用户的文本。在第二个活动中按下提交按钮后,在主活动中,我想将这些值添加到我的可变列表中,但idk如何操作(我认为它崩溃了,因为主活动在从用户获取值之前使用了这些变量)plz指导我。 我的活动代
我有两个模块。应用程序和模块测试。模块应用程序包含带按钮的主活动。模块测试包含主要活动二。我想通过点击按钮从模块应用程序运行Test/MainActivity。但Android仍然无法从模块测试中看到主要活动。见下文。 模块应用清单: 模块测试清单: 在模块app MainActivity中为单击按钮和运行第二个活动编码: 在控制台我得到一个错误: 带系统。错误:java。lang.ClassNo