new RequestSimulation() { @Override protected void onPostExecute(BusLine busLine) { // 处理返回的 BusLine 对象 ArrayList<BusStop>objArrayList=(ArrayList<BusStop>)busLine.getStops(); ArrayList<String> paramArrayList = objArrayList.stream().map(BusStop::getStopName) // 假设getParam()是取出参数的方法 .collect(Collectors.toCollection(ArrayList::new)); List<String> modifiedData = new ArrayList<>(); ArrayList<Buses> buses = (ArrayList<Buses>) busLine.getBuses(); for (Buses value : buses) { paramArrayList.set(value.getNextStop()-1, paramArrayList.get(value.getNextStop()-1)+"🚗"); } for (String str : paramArrayList) { String[] words = str.split(""); String modifiedStr = String.join("\n", words) + "\n"; modifiedData.add(modifiedStr); } LinearLayoutManager layoutManager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.HORIZONTAL, false); recyclerView.setLayoutManager(layoutManager); MyAdapter adapter = new MyAdapter(modifiedData); recyclerView.setAdapter(adapter); } }
时间: 2024-02-14 20:24:21 浏览: 93
这段代码是一个异步任务,在任务执行完毕后会调用onPostExecute()方法,该方法的参数为一个BusLine对象。在该方法中,首先通过busLine.getStops()获取到一个BusStop对象的ArrayList,然后使用Java 8的Stream API将每个BusStop对象的getStopName()方法返回值转换为一个String类型的ArrayList。接着,通过busLine.getBuses()获取到一个Buses对象的ArrayList,遍历该ArrayList,将每个Buses对象的getNextStop()-1作为索引值,将paramArrayList中对应位置的字符串后面加上一个小汽车的图标🚗。最后,将paramArrayList中的每个字符串按照每个字符换行的方式拆分,将拆分后的字符串组成一个新的ArrayList modifiedData。最后,将modifiedData中的数据显示在一个横向滚动的RecyclerView中。
阅读全文