我想我要跳过ArrayList
通过Intent
。但是我找不到多余的东西吗?任何get方法都会收到类似“不适用于字符串”之类的错误。
项目详细信息:
public class ItemDetails {
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getItemDescription() {
return itemDescription;
}
public void setItemDescription(String itemDescription) {
this.itemDescription = itemDescription;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public int getImageNumber() {
return imageNumber;
}
public void setImageNumber(int imageNumber) {
this.imageNumber = imageNumber;
}
public int getVideoNumber() {
return videoNumber;
}
public void setVideoNumber(int videoNumber) {
this.videoNumber = videoNumber;
}
public void setChild(ArrayList<ItemDetails> item_child)
{
this.item_child = item_child;
}
public ArrayList<ItemDetails> getChild()
{
return this.item_child;
}
public void setParent(ArrayList<ItemDetails> item_parent)
{
this.item_parent = item_parent;
}
public ArrayList<ItemDetails> getParent()
{
return this.item_parent;
}
private String name ;
private String itemDescription;
private String price;
private int imageNumber;
private int videoNumber;
private ArrayList<ItemDetails> item_child;
private ArrayList<ItemDetails> item_parent;
}
我的课:
static class ViewHolder {
TextView txt_itemName;
TextView txt_itemDescription;
TextView txt_itemPrice;
ImageView itemImage;
ArrayList<ItemDetails> item_parent;
ArrayList<ItemDetails> item_child;
}
我的putExtra:
intObj.putExtra("exerciselist",obj_itemDetails.getChild());
GetChild函数:
public ArrayList<ItemDetails> getChild()
{
return this.item_child;
}
但是我找不到我应该怎么写来获取arrayList?
ArrayList<ItemDetails> child1 = getIntent().?????????
但是我找不到应该怎么写来获取arrayList
简短答案:您不能。您只能通过ArrayList<String>
,然后使用
getIntent().getStringArrayListExtra("key");
但是 。如果要通过Intent传递自定义对象,则必须实现以下对象:
Parcelable interface
要么 Serializable interface
您可以选择其中之一。两者的工作原理相同,但实现方式不同。
如果选择Parcelable接口,则您的ItemDetails
类必须实现Parcelable。然后你可以把它作为
intent.putParcelableArrayListExtra("key", value);
并将其检索为:
getIntent().getParcelableArrayListExtra("key");
我不会为您编写Parcelable实现,因为它需要更多代码。这是一个很好的例子。
如果您选择Serializable接口,建议您创建一个名为ItemDetailsWrapper的类,该类将包装您的
ArrayList(s)<ItemDetails>
ItemDetailsWrapper和ItemDetails类都必须实现Serializable接口。现在,您可以像这样通过Intent传递它:
getIntent().putExtra("key", <serializableClass>); // storing
getIntent().getSerializableExtra("key"); // retrieving
public class ItemDetailsWrapper implements Serializable {
private static final long serialVersionUID = 1L;
private ArrayList<ItemDetails> itemDetails;
public ItemDetailsWrapper(ArrayList<ItemDetails> items) {
this.itemDetails = items;
}
public ArrayList<ItemDetails> getItemDetails() {
return itemDetails;
}
}
public class ItemDetails implements Serializable {
private static final long serialVersionUID = 1L;
// getters, setters and properties
}
以及如何通过活动:
ItemDetailsWrapper wrapper = new ItemDetailsWrapper(list);
Intent i = new Intent(<context>, <targetActivity>);
i.putExtra("obj", wrapper); // i.putExtra("obj", new ItemDetailsWrapper(list));
// retrieving
ItemDetailsWrapper wrap =
(ItemDetailsWrapper) getIntent().getSerializableExtra("obj");
ArrayList<ItemDetails> list = wrap.getItemDetails();
问题内容: 用Java制作数组列表的语法是什么? 我尝试了以下方法: 还有很多其他事情 我需要能够对int数组进行重新排序,但是int数组的元素不需要更改。如果这不可能,为什么呢? 谢谢。 问题答案: 首先,您不能做的是接口。 要列出int数组,请执行以下操作: PS 根据评论,List的包和ArrayList的包
我是Java和Stack Overflow的新手,我有一个关于排列的问题。 方法:我使用中的对象生成。每个的大小从(可能最小为1)到,并包含具有唯一名称属性的自定义生成对象。 问题:现在我的问题是如何在我的外部(y轴)中获得从第一个到最后一个的所有可能对象组合的排列(我想我们可以说这是x轴)? 我试着举一个简单的例子: : 1.1|1.2|1.3 : 2.1 : 3.1|3.2 这里,这些位于外部
问题内容: 假设我有一个NumPy数组a: 我想添加一列零以获取一个数组b: 我如何在NumPy中轻松地做到这一点? 问题答案: 我认为,更简单,更快速的启动方法是执行以下操作: 和时间:
问题内容: 我想撤消一个列表,但是我设法做到了,但是在工作的中间我发现了一些奇怪的事情。下面的程序按预期工作,但list_reversed [i] = list [len(list)-1-i] 和 print(list [i]) (顺理成章地注释了 最后一行 )这 行 引起了 list 的更改。我没看到什么?我的Python版本是3.3.3。先感谢您。 问题答案: 以下: 使两个变量引用相同的列表
问题内容: 我正在尝试使用BeautifulSoup从html文档中获取一些文本。在我看来,这很奇怪,它产生了一个奇怪而有趣的结果:在某一点之后,汤在文本中充满了多余的空格(空格将每个字母与下一个字母分隔开)。我试图在网络上搜索以找到原因,但是我只遇到了有关相反错误的一些消息(根本没有空格)。 您对它为什么会发生以及如何解决此问题有任何建议或提示吗? 这是我创建的非常基本的代码: 这是从结果中提取
问题内容: 我有一个phone_models,phone_problems和一个phone_model_phone_problem数据透视表。数据透视表有一个额外的“价格”列。 手机型号: 电话问题: 我想做的是获取具有特定问题的特定手机的价格。 这就是我现在的方式,但是我觉得Laravel具有内置的Eloquent功能,我找不到用更简单的方式做到这一点: 这一切都是从他们的中选择特定的模型和问题