我一直在将很多不同的代码粘贴到我的应用程序中(因为我刚刚开始编码)并得到了朋友们的帮助。但我不想继续打扰他们。
我的问题是,我不知道如何打开在类底部创建的ArrayList到另一个类,在那里他将值分隔成字符串,稍后将传递,最后应该在我的Youtube API中结束
首先是getter,这是第一个活动(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 / Layout,应该作为上述活动的适配器。
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所以我可以测试listview。但是应该将其编辑为来自其他活动的“新”ArrayList。
我不确定你是否需要它,但这是Lesson模型。
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;
}
我整整一天都在搜索如何使用该ArrayList,但由于缺乏知识我没有使用正确的搜索词。可能是因为。
PS。你是如何学习数据传输的(如JSON和ArrayLists)。只是通过做和尝试?或者你有在线课程或什么?我已经尝试过基本的Android Studio课程但是在他们长期坚持基础知识后失去了兴趣。但是我注意到我用这个应用程序得到的距离越远,我就越多(我认为是)简单的编码片段?
答案 0 :(得分:1)
要获取在getLessons()方法中填充的ArrayList,只需调用类和getArrayLesson()方法,如下所示:
public class DataFiller{
public ArrayList<Lesson> readLessons() {
return LesSelectionActivity.getArrayLesson();
}
}