所以我试图创建一个对象列表,然后我可以访问它。
我已经能够用对象填充ArrayList
,但是当我尝试使用时,应用程序崩溃时无法将对象取回.get(1)
活动类
public class Second_Activity extends Activity {
ArrayList<Event> Eventlist = new ArrayList<Event>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_activity);
public void Add(View view) {
EditText Title = (EditText)findViewById(R.id.ETtitle);
EditText Subject = (EditText)findViewById(R.id.ETsubject);
EditText room = (EditText)findViewById(R.id.ETroom);
EditText time = (EditText)findViewById(R.id.ETtime);
String FTitle = Title.getText().toString();
String FSubject = Subject.getText().toString();
String Froom = room.getText().toString();
String FTtime = time.getText().toString();
Event ev = new Event(FTitle,FSubject,Froom,FTtime);
Eventlist.add(ev);
String name= Eventlist.get(1).getRoom();
}
}
活动类
public class Event {
String Title;
String Subject;
String Room;
String StartTime;
public Event(String Title , String Subject, String Room, String StartTime)
{
}
public void setTitle(String title) {
Title = title;
}
public void setSubject(String subject) {
Subject = subject;
}
public void setRoom(String room) {
this.Room = room;
}
public void setStartTime(String startTime) {
StartTime = startTime;
}
public String getStartTime() {
return StartTime;
}
public String getRoom() {
return Room;
}
public String getTitle() {
return Title;
}
public String getSubject() {
return Subject;
}
}
答案 0 :(得分:0)
数组索引从0开始...第一个对象将在0位...你试图访问2项没有列表
String name= Eventlist.get(0).getRoom();
答案 1 :(得分:0)
您正在访问索引1处的数据.ArrayList的起始索引为0.第一次只有一个项目,即索引0时,尝试访问索引0而不是1。
答案 2 :(得分:0)
首先,您只为ArrayList
添加了一个项目
第二,你没有从constructor
课Event
初始化你的参数。
因此,从第0个位置获取对象而不是从1开始,因为索引从零开始而不是从一个开始。
String name= Eventlist.get(0).getRoom();
public class Event {
String Title;
String Subject;
String Room;
String StartTime;
public Event(String Title , String Subject, String Room, String StartTime)
{
//here you need set incoming values to your class variables .
this.Title =Title;
this.Subject=Subject;
this.Room=Room;
this.StartTime=StartTime;
}
public void setTitle(String title) {
Title = title;
}
public void setSubject(String subject) {
Subject = subject;
}
public void setRoom(String room) {
this.Room = room;
}
public void setStartTime(String startTime) {
StartTime = startTime;
}
public String getStartTime() {
return StartTime;
}
public String getRoom() {
return Room;
}
public String getTitle() {
return Title;
}
public String getSubject() {
return Subject;
}
}
答案 3 :(得分:0)
需要在类中初始化变量,并从0开始,而不是从1开始。