我一直在复制粘贴不同的代码到我的应用程序(因为我刚刚开始编码),并从朋友的一些帮助。但我不想打扰他们。从其他活动接收数据ArrayList [Java]
我的问题是,我不知道如何打开在该类的底部上创建的ArrayList到另一个类中,他将值分成字符串,稍后将传递,最后应该在我的Youtube API。
首先吸气,这是第一个活动(LesSelectionActivity.java)
public void getLessons(){
APIClient.get(url, new JsonHttpResponseHandler(){
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject object) {
if (object != null) {
try {
JSONArray jsonLesson = object.getJSONArray("sqllessons");
mLessons = new ArrayList<Lesson>();
for (int Index = 0; Index < jsonLesson.length(); Index++) {
try {
JSONObject jsonLes = jsonLesson.getJSONObject(Index);
Lesson lesson = new Lesson();
lesson.id = jsonLes.getInt("_id");
lesson.number = jsonLes.getInt("lesnumber");
lesson.videoId = jsonLes.getString("videourl");
System.out.println("data test: " + lesson.id);
mLessons.add(lesson);
} catch (JSONException e) {
e.printStackTrace();
return;
}
}
} catch (JSONException e) {
e.printStackTrace();
return;
}
}
setButtonLessons();
}
@Override
public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
Toast.makeText(LesSelectionActivity.this, "FAIL", Toast.LENGTH_LONG).show();
}
});
}
public ArrayList<Lesson> getArrayLesson() {
return mLessons;
}
我希望它在我的“DataFiller” 它没有XML /布局打开,并应作为一个适配器行为以上活动。
public class DataFiller{
public static ArrayList<Lesson> readLessons(int given) {
ArrayList<Lesson> lessons = new ArrayList<Lesson>();
for (int i = (given * 25) - 24; i <= 25 * given; i++) {
Lesson lesson = new Lesson();
lesson.setId(i);
lessons.add(lesson);
}
return lessons;
}
上面的脚本只是一个空的数组列表,所以我可以测试列表视图。但是这应该从其他活动编辑到'新'ArrayList。
我不确定你是否需要它,但这里是课程模型。
public class Lesson implements Serializable {
public int id;
public int number;
public String videoId;
public Lesson() {
}
public Lesson(Lesson lesson) {
number = lesson.number;
id = lesson.id;
videoId = lesson.videoId;
}
public int getId() { return id; }
public void setId(int id) {
this.id = id;
}
public String getVideoId() {
return videoId;
}
public void setVideoId(String videoId) {
this.videoId = videoId;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
我一直在寻找这整个一天的awnser如何使用ArrayList的,但mayby由于缺乏知识的人,我没有使用正确的搜索字词。
PS。你是如何学习数据传输的(如JSON和ArrayLists)。只是在做和尝试?或者你有在线课程什么的?我已经尝试了基本的Android Studio课程,但是他们坚持了很长的基础知识之后就失去了兴趣。但是我注意到,使用这个应用程序会得到多远,我坚持的更多(我认为是)简单的编码?
好了,所以首先你必须把整个来龙去脉此,因为我真的不明白什么是第一类,什么是第二类,但我会假设第一个是活动,第二个是适配器,你必须做的是在获得你的数组列表后,将它传递给你的Adapter,如何?创建一个方法来设置它或通过构造函数本身传递它,如果你需要从一个活动传递给另一个活动,你将不得不通过这个意图来完成它,请多说明一下你的代码的上下文,我会感谢你的帮助。 – Eefret
看来第一堂课有一个你可以保存Arraylist的领域。还有你定义的getArrayLesson()方法只返回你想要的数组。你能粘贴更多的代码吗? – marco
我想告诉你的代码,但我不知道你正在寻找哪个代码。 getArrayLesson()在setButtonLessons上被调用,但那还没有工作。 – Jaxhead