Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将3个列表从asynctask类发送到另一个类_Java_Android_List_Android Asynctask_Android Recyclerview - Fatal编程技术网

Java 将3个列表从asynctask类发送到另一个类

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>

我正试图将3个列表从一个
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);
}