例如,我必须通过以下方式传递 2 名学生的姓名和卷号,abc 12 xyz 13
谁能建议我应该如何实施?
像这样创建一个字符串数组:
Strings sa[] = new String[n];
for(int i = 0; i < n i++)
{
//name and rollNo are the Arrays of student names and roll nos you have
sa[i] = add(name[i] + "," + rollNo[i]);
}
Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
intent.putExtra("StudentDetails", sa);
startActivity(intent);
在 NextActivity 中:
String[] studentDetails = this.getIntent().getStringArrayExtra("StudentDetails");
并在您想要的项目上使用名称和卷号,例如:
String student1 = studentDetails[0].split(",")
String student1Name = student1[0];
int student1RollNo = Integer.parseInt(student1[0]);
最简单的方法是给出 2 个数组,1 个用于名称,1 个用于卷号,并将它们与相同的索引一起使用
创建一个类并使其实现 Serializable import java.io.Serializable;
public class Record implements Serializable{
String name,rollNum;
public Record(String name, String rollNum) {
super();
this.name = name;
this.rollNum= rollNum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRollNum() {
return rollNum;
}
public void setRollNum(String rollNum) {
this.rollNum = rollNum;
}
}
现在,当您需要将数据传递给其他活动时,只需创建一个数组或 arrayList(coll_of_records) 并向它们添加新记录。添加记录后,使用
Intent intent = new Intent(Current_Activity.this, New_Activity.class);
intent.putExtra("xyz", coll_of_records);
startActivity(intent);
你这样做。当您创建启动新活动的意图时,您可以在开始之前向它发送“额外”
Intent myIntent;
int aInt = 10;
String aString = "a text";
myIntent = new Intent(view.getContext(),NewActivity.class);
myIntent.putExtra("My Integer Value", aInt);
myIntent.putExtra("My String Value", aString);
startActivity(myIntent);
然后在新活动中,您获取如下值
int aInt;
String aString;
aInt = getIntent().getExtras().getInt("My Integer Value");
aString = getIntent().getExtras().getString("My String Value");
在这里,我使用了长名称“我的整数值”来向您展示如何做到这一点。这是传递值的 id,因此请保持简单和逻辑,例如在您的情况下 passnum 和 rollnum。
根据您的字段创建班级学生并将名称,编号设置为对象...
在(学生)对象的数组列表中添加所有对象,并通过意图发送对象的数组列表。
对于这种方式,您将多条记录发送到另一个活动......
请参考与您的问题相同的以下链接...