Java 将3个列表从asynctask类发送到另一个类
我正试图将3个列表从一个Java 将3个列表从asynctask类发送到另一个类,java,android,list,android-asynctask,android-recyclerview,Java,Android,List,Android Asynctask,Android Recyclerview,我正试图将3个列表从一个AsyncTask类发送到另一个类异步任务类从json中获取3个不同的数据并插入3个字符串列表。我必须将此列表发送到另一个类以插入回收器适配器 public class FetchNewsData extends AsyncTask<String, String, JSONObject> { static List<String> title = new ArrayList<>(); static List<String>
AsyncTask
类发送到另一个类<代码>异步任务类从json中获取3个不同的数据并插入3个字符串列表。我必须将此列表发送到另一个类以插入回收器适配器
public class FetchNewsData extends AsyncTask<String, String, JSONObject> {
static List<String> title = new ArrayList<>();
static List<String> body = new ArrayList<>();
static List<String> imageUrl = new ArrayList<>();
public List<String> getTitle() {
return title;
}
public List<String> getBody() {
return body;
}
public List<String> getImageUrl() {
return imageUrl;
}
private static String url = "https://content.guardianapis.com/search?format=json&show-fields=thumbnail,trailText&api-key=f627bebe-3c4f-4fee-a2fc-3368a3b098c7";
private static final String TAG_RESPONSE = "response";
private static final String TAG_RESULTS = "results";
private static final String TAG_TITLE = "webTitle";
private static final String TAG_DATE = "webPublicationDate";
private static final String TAG_SECTION_NAME = "sectionName";
private static final String TAG_FIELDS = "fields";
private static final String TAG_TEXT = "trailText";
private static final String TAG_IMG_URL = "thumbnail";
@Override
protected JSONObject doInBackground(String... args) {
JSONParser jParser = new JSONParser();
// Getting JSON from URL
JSONObject json = jParser.getJSONFromUrl(url);
return json;
}
@Override
protected void onPostExecute(JSONObject json) {
try {
// Getting JSON Array
JSONObject response = json.getJSONObject(TAG_RESPONSE);
JSONArray result = response.getJSONArray(TAG_RESULTS);
for (int i = 0; i < result.length(); i++) {
JSONObject resultsObjects = result.getJSONObject(i);
JSONObject fields = resultsObjects.getJSONObject(TAG_FIELDS);
// Storing JSON item in a Variable
if (resultsObjects.has(TAG_TITLE)) {
String header = resultsObjects.getString(TAG_TITLE);
title.add(header);
} else title.add(null);
if (fields.has(TAG_TEXT)) {
String text = fields.getString(TAG_TEXT);
body.add(text);
} else body.add(null);
if (fields.has(TAG_IMG_URL)) {
String imgUrl = fields.getString(TAG_IMG_URL);
imageUrl.add(imgUrl);
} else imageUrl.add(null);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
为什么不直接从onPostExecute方法调用setupRecyclerView方法 如果您不希望将这些列表存储在自定义类中,并通过意图将该类对象传递给其他活动 1) 创建自定义类MyList并在此类中设置这些列表 2) 用Serializable实现这个类 3) 通过mylist 通过意图将对象类化为另一个活动
为什么不直接从onPostExecute方法调用setupRecyclerView方法 如果您不希望将这些列表存储在自定义类中,并通过意图将该类对象传递给其他活动 1) 创建自定义类MyList并在此类中设置这些列表 2) 用Serializable实现这个类 3) 通过mylist 通过意图将对象类化为另一个活动
我建议你完整地完成一个教程,之后会更容易。谢谢你,先生。这是一个非常有用的来源。我正在尝试将recyclerview与选项卡一起使用。setupRecyclerView方法在我的片段类中。我还应该从json获取数据,并将数据重定向到适配器。我将setupRecyclerView移动到FetchNewsData类。我成功地将文本显示在textview上。我建议您完整地阅读教程,之后会更容易。谢谢您,先生。这是一个非常有用的来源。我正在尝试将recyclerview与选项卡一起使用。setupRecyclerView方法在我的片段类中。我还应该从json获取数据,并将数据重定向到适配器。我将setupRecyclerView移动到FetchNewsData类。我成功地在textview上显示文本。谢谢您,先生。我将setupRecyclerView方法移动到FetchNewsData类。我成功地在文本视图上显示文本。快乐编码:)谢谢你,先生。我将setupRecyclerView方法移动到FetchNewsData类。我成功地在textview上显示文本。快乐编码:)
private void setupRecyclerView(RecyclerView recyclerView) {
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
List<String> itemList;
itemList = createItemList();
List<String> titleList=new ArrayList<>(itemData.getTitle());
String[] itemlistToArray = new String[itemList.size()];
itemlistToArray = itemList.toArray(itemlistToArray);
String[] asd= {"a","b","c"};
String[] titlelistToArray = new String[titleList.size()];
titlelistToArray = titleList.toArray(titlelistToArray);
recyclerAdapter = new RecyclerAdapter(asd, itemlistToArray, itemlistToArray);
recyclerView.setAdapter(recyclerAdapter);
}