Android 将parcelable添加到arraylist<;对象>;使用[],spinner赢得了';不能正确显示
因此,我想列出学生和课程,修改他们的数据,向学生添加/删除课程,等等 因此,我使用parcelable创建我的学生:Android 将parcelable添加到arraylist<;对象>;使用[],spinner赢得了';不能正确显示,android,object,arraylist,spinner,Android,Object,Arraylist,Spinner,因此,我想列出学生和课程,修改他们的数据,向学生添加/删除课程,等等 因此,我使用parcelable创建我的学生: package com.example.exempleparcelable; import android.os.Parcel; import android.os.Parcelable; public class User implements Parcelable
package com.example.exempleparcelable;
import android.os.Parcel;
import android.os.Parcelable;
public class User implements Parcelable
{
private String mFirstName;
private String mLastName;
private String mPseudo;
private String mMail;
private String mTwitter;
private String mGooglePlus;
public User(String firstName, String lastName, String pseudo, String mail, String twitter, String googlePlus)
{
super();
this.mFirstName = firstName;
this.mLastName = lastName;
this.mPseudo = pseudo;
this.mMail = mail;
this.mTwitter = twitter;
this.mGooglePlus = googlePlus;
}
/*
* Constructeur qui permet de créer l'objet à partir d'un Parcel
*/
public User(Parcel in) {
this.mFirstName = in.readString();
this.mLastName = in.readString();
this.mPseudo = in.readString();
this.mMail = in.readString();
this.mTwitter = in.readString();
this.mGooglePlus = in.readString();
}
/*
* Cette classe implémente Parcelable qui l'oblige à implémenter:
* describeContents : pour décrire le contenu du Parcel
* writeToParcel : pour écrire l’objet dans un Parcel.
*/
@Override
public int describeContents()
{
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags)
{
dest.writeString(mFirstName);
dest.writeString(mLastName);
dest.writeString(mPseudo);
dest.writeString(mMail);
dest.writeString(mTwitter);
dest.writeString(mGooglePlus);
}
/*
* Le CREATOR permet d’indiquer comment l'objet de type Parcelable sera créé.
*/
public static final Parcelable.Creator<User> CREATOR = new Parcelable.Creator<User>()
{
@Override
public User createFromParcel(Parcel source)
{
return new User(source);
}
@Override
public User[] newArray(int size)
{
return new User[size];
}
};
public String getmFirstName()
{
return mFirstName;
}
public String getmLastName()
{
return mLastName;
}
public String getmPseudo()
{
return mPseudo;
}
public String getmMail()
{
return mMail;
}
public String getmTwitter()
{
return mTwitter;
}
public String getmGooglePlus()
{
return mGooglePlus;
}
public static Parcelable.Creator<User> getCreator()
{
return CREATOR;
}
}
package com.example.exampleparcelable;
导入android.os.packet;
导入android.os.Parcelable;
公共类用户实现了Parcelable
{
私有字符串mFirstName;
私有字符串mLastName;
私有字符串mPseudo;
私有字符串mMail;
私有字符串mTwitter;
私有字符串mGooglePlus;
公共用户(stringfirstname、stringlastname、stringpseudo、stringmail、stringtwitter、stringgoogleplus)
{
超级();
this.mFirstName=firstName;
this.mLastName=lastName;
this.mPseudo=pseudo;
this.mMail=邮件;
this.mTwitter=twitter;
this.mGooglePlus=googlePlus;
}
/*
*第三方包裹的建造商
*/
公共用户(包裹输入){
this.mFirstName=in.readString();
this.mLastName=in.readString();
this.mPseudo=in.readString();
this.mMail=in.readString();
this.mTwitter=in.readString();
this.mGooglePlus=in.readString();
}
/*
*Cette classe Implicémente Parcelable qui l'CurrentáImplicent:
*描述内容:包裹内容
*书面包裹:包裹上的包裹。
*/
@凌驾
公共int描述内容()
{
返回0;
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志)
{
目的地记录(mFirstName);
目的地书面记录(mLastName);
目的地书面记录(mPseudo);
目的地书面资本(mMail);
目的地书面记录(mTwitter);
目的地书面资本(mGooglePlus);
}
/*
*创作者permet d'indiquer评论l'objet de type Parcelable sera cré。
*/
public static final Parcelable.Creator=新建Parcelable.Creator()
{
@凌驾
公共用户createFromParcel(地块源)
{
返回新用户(源);
}
@凌驾
公共用户[]新数组(整数大小)
{
返回新用户[大小];
}
};
公共字符串getmFirstName()
{
返回mFirstName;
}
公共字符串getmLastName()
{
返回mLastName;
}
公共字符串getmPseudo()
{
返回mPseudo;
}
公共字符串getmMail()
{
返回mMail;
}
公共字符串getmTwitter()
{
返回mTwitter;
}
公共字符串getmGooglePlus()
{
返回mGooglePlus;
}
public static Parcelable.Creator getCreator()
{
回归创造者;
}
}
我有一个类要添加学生,我想把他们放到一个arraylist中,这样我就可以把它放到一个微调器中
package com.example.exempleparcelable;
import java.util.ArrayList;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
public class ActivitePrincipale extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activite_principale);
final ArrayList<Object> listeEtudiants = new ArrayList<Object>();
final ArrayAdapter<Object> adapterEleves;
adapterEleves = new ArrayAdapter<Object>(this, android.R.layout.simple_spinner_item, listeEtudiants);
Button connectBtn = (Button) findViewById(R.id.connect);
connectBtn.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
int i = 0;
User[] user = new User[999];
user[i] = new User("Tom", "Sawyer", "Tom_Sawyer", "tom@sawyer.com", "@tom_Sawyer", "Tom_Sawyer");
Intent intent = new Intent(ActivitePrincipale.this, ResultActivity.class);
listeEtudiants.add(user[i]);
adapterEleves.notifyDataSetChanged();
intent.putExtra("user", user[i]);
i++;
startActivity(intent);
}
});
Spinner spinnerEtudiants = (Spinner) findViewById(R.id.spinnerEtudiants);
spinnerEtudiants.setAdapter(adapterEleves);
adapterEleves.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
}
}
package com.example.exampleparcelable;
导入java.util.ArrayList;
导入android.os.Bundle;
导入android.app.Activity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.Spinner;
公共类活动Principale扩展活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u activite\u principale);
最终ArrayList ListeAudiants=新ArrayList();
最终阵列自适应调整;
AdapterReeves=new ArrayAdapter(这是android.R.layout.simple\u spinner\u项目,ListeAudiants);
按钮连接btn=(按钮)findViewById(R.id.connect);
connectBtn.setOnClickListener(新的OnClickListener()
{
@凌驾
公共void onClick(视图v)
{
int i=0;
用户[]用户=新用户[999];
用户[i]=新用户(“汤姆”、“索耶”、“汤姆•索耶”tom@sawyer.com“,“@tom_Sawyer”,“tom_Sawyer”);
意向意向=新意向(ActivityPrincipale.this、ResultActivity.class);
添加(用户[i]);
adapterEleves.notifyDataSetChanged();
意向。额外(“用户”,用户[i]);
i++;
public String toString() {
return mFirstName + ' ' + mLastName;
}