たとえば、abc 12 xyz 13 のように、2 人の生徒の名前とロール番号を渡す必要があります。
誰かがこれをどのように実装すべきかを提案できますか?
次のような文字列の配列を作成します。
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");
必要なアイテムにsplitを使用して名前とロール番号を使用します。
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);
クラスの生徒を作成し、フィールドごとに名前、番号をオブジェクトに設定します。
(学生)オブジェクトのarraylistにすべてのオブジェクトを追加し、intentを介してオブジェクトのarraylistを送信します。
このようにして、複数のレコードを別のアクティビティに送信します。
あなたの質問と同じように以下のリンクを参照してください...
あなたはそのようにします。新しいアクティビティを開始するインテントを作成するときは、開始する前に「追加」を送信できます。
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");
ここでは、長い名前「MyIntegerValue」を使用してその方法を示しました。これは渡された値のIDであるため、たとえばpassnumやrollnumの場合のように、単純で論理的なものにしてください。