- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在 StackOverflow 和互联网上四处查看并尝试了一些东西,但所有这些都给了我同样的普遍问题。
我有一个 ArrayList,我在一个 Activity 中创建它,然后通过(另一个 Activity 或另外 2 个 Activity ,具体取决于用户的选择)发送它,并在每个 Activity (包括创建数组列表的 Activity )中让用户选择一个一组中的单个按钮。选择按钮后,我有一个监听器创建一个简单的字符串,然后将该字符串添加到 ArrayList,或者至少这是我想要它做的。
Serialized
类将同一个列表传递给它需要经历的所有 Activity intent.putExtra()
发送然后接收的那个,这样它就可以被复制到一个新的数组列表中做同样的事情,直到它到达最终的 Activity 。Parcleable
的实现,但它对我来说似乎太多了(我现在不擅长这个)。每当我尝试使用 ArrayList 的 .add()
方法(或 .addAll()
第二次尝试完成此操作。
如果您必须向初学者提供任何建议和解释,我们将不胜感激!如果需要我可以放代码!!
最佳答案
首先,您应该使用Parcelable
,在这种情况下效率更高。查看此链接以了解“为什么”:
https://medium.com/@theblackcat102/passing-object-between-activity-using-gson-7dfa11d74e06
其次,我会这样做:
public class ActivityOne extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
Intent intent = new Intent(this, ActivityTwo.class);
ArrayList<Person> strings = new ArrayList<Person>(Arrays.asList(new Person("Bob"),new Person("Dude")));
Bundle bundle = new Bundle();
bundle.putParcelableArrayList(ActivityTwo.PARCELABLE_KEY,strings);
intent.putExtras(bundle);
startActivity(intent);
}
}
public class ActivityTwo extends Activity {
public static final String PARCELABLE_KEY = "array_key";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
if (getIntent() != null) {
ArrayList<Person> persons = getIntent().getParcelableArrayListExtra(PARCELABLE_KEY);
Log.d("test", persons.toString());
}
}
}
public class Person implements Parcelable {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person() {
}
public Person(String name) {
this.name = name;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.name);
}
public static final Parcelable.Creator<Person> CREATOR = new Parcelable.Creator<Person>() {
public Person createFromParcel(Parcel source) {
return new Person(source);
}
public Person[] newArray(int size) {
return new Person[size];
}
};
private Person(Parcel in) {
this.name = in.readString();
}
}
另外,不要害怕 Parcelables!作为一名优秀的开发人员,你应该偷懒,然后使用 Parcelable 生成器,例如:
http://www.parcelabler.com/
只需复制您的 POJO 类并生成(Android Studio 插件也存在)。
最后,不要忘记您不能在 2 个 Activity 之间传递无限数据。您还可以考虑将数据放入数据库。
关于java - 将项目添加到已在 Activity 之间传递的 ArrayList<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25002788/
我创建了一个用户可以添加测试的字段。这一切运行顺利我只希望当用户点击(添加另一个测试)然后上一个(添加另一个测试)删除并且这个显示在新字段中。 所有运行良好的唯一问题是点击(添加另一个字段)之前添加另
String[] option = {"Adlawan", "Angeles", "Arreza", "Benenoso", "Bermas", "Brebant
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在努力将 jQuery 滚动功能添加到 nav-tab (Bootstrap 3)。我希望用户能够选择他们想要的选项卡,并在选项卡内容中有一个可以平滑滚动到 anchor 的链接。这是我的代码,可
我正在尝试在用户登录后再添加 2 个 ui 选项卡。首先,我尝试做一个之后。 $('#slideshow').tabs('remove', '4'); $("#slideshow ul li:last
我有一个包含选择元素的表单,我想通过选择添加和删除其中一些元素。这是html代码(这里也有jsfiddle http://jsfiddle.net/txhajy2w/):
正在写这个: view.backgroundColor = UIColor.white.withAlphaComponent(0.9) 等同于: view.backgroundColor = UICo
好的,如果其中有任何信息,我想将这些列添加到一起。所以说我有 账户 1 2 3 . 有 4 个帐户空间,但只有 3 个帐户。我如何创建 java 脚本来添加它。 最佳答案 Live Example H
我想知道是否有一种有效的预制算法来确定一组数字的和/差是否可以等于不同的数字。示例: 5、8、10、2,使用 + 或 - 等于 9。5 - 8 = -3 + 10 = 7 + 2 = 9 如果有一个预
我似乎有一个卡住的 git repo。它卡在所有基本的添加、提交命令上,git push 返回所有内容为最新的。 从其他帖子我已经完成了 git gc 和 git fsck/ 我认为基本的调试步骤是
我的 Oracle SQL 查询如下- Q1- select hca.account_number, hca.attribute3, SUM(rcl.extended_amou
我正在阅读 http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingG
我正在尝试添加一个“加载更多”按钮并限制下面的结果,这样投资组合页面中就不会同时加载 1000 个内容,如下所示:http://typesetdesign.com/portfolio/ 我对 PHP
我遇到这个问题,我添加了 8 个文本框,它工作正常,但是当我添加更多文本框(如 16 个文本框)时,它不会添加最后一个文本框。有人遇到过这个问题吗?提前致谢。 Live Link: JAVASCRIP
add/remove clone first row default not delete 添加/删除克隆第一行默认不删除&并获取正确的SrNo(例如:添加3行并在看到问题后删除SrNo.2)
我编码this ,但删除按钮不起作用。我在控制台中没有任何错误.. var counter = 0; var dataList = document.getElementById('materi
我有一个类似数组的对象: [1:数组[10]、2:数组[2]、3:数组[2]、4:数组[2]、5:数组[3]、6:数组[1]] 我正在尝试删除前两个元素,执行一些操作,然后将它们再次插入到同一位置。
使用的 Delphi 版本:2007 你好, 我有一个 Tecord 数组 TInfo = Record Name : String; Price : Integer; end; var Info
我使用了基本的 gridster 代码,然后我声明了通过按钮添加和删除小部件的函数它工作正常但是当我将调整大小功能添加到上面的代码中时,它都不起作用(我的意思是调整大小,添加和删除小部件) 我的js代
title 323 323 323 title 323 323 323 title 323 323 323 JS $(document).keydown(function(e){
我是一名优秀的程序员,十分优秀!