java - 即使添加元素后 ArrayList 仍显示为空
问题描述
ArrayList
在从我的 API 接收数据并将其填充到存储的对象中后,我正在填充我,ArrayList
但是当我记录它的大小时,ArrayList
它显示为空。
这是我的代码:
public class MainActivity extends AppCompatActivity {
private RequestQueue queue;
private static ArrayList<Team> teams;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RecyclerView recyclerView = findViewById(R.id.homeRecyclerView);
this.teams = new ArrayList<>();
queue = Volley.newRequestQueue(this);
TeamNamesAdapter teamNamesAdapter = new TeamNamesAdapter(teams);
parseJSON();
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(teamNamesAdapter);
Log.i("Info",String.valueOf(teams.size()));
}
private void parseJSON(){
String url = "http://192.168.0.174:8080/team";
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest
(Request.Method.GET, url, null, response -> {
try {
for(int i=0;i<response.length();i++){
JSONObject teamDetails = response.getJSONObject(i);
Team team = new Team();
team.setId(Long.parseLong(teamDetails.getString("id")));
team.setTeamName(teamDetails.getString("teamName"));
team.setTotalMatches(Long.parseLong(teamDetails.getString("totalMatches")));
team.setTotalWins(Long.parseLong(teamDetails.getString("totalWins")));
this.teams.add(team);
Log.i("Info","Added team "+team.getTeamName()+" successfully");
}
} catch (JSONException e) {
e.printStackTrace();
}
}, error -> Log.i("ERROR","Couldn't parse JSON"));
queue.add(jsonArrayRequest);
}}
我的 API 正在工作,因为我能够记录正在创建但未存储在列表中的每个团队对象。
解决方案
this.teams = new ArrayList<>();
您可以在开头删除并添加初始化,因为它是静态的,private static ArrayList<Team> teams = new ArrayList<>();
推荐阅读
- asp.net-mvc - 在其他项目的 mvc 中使用 partials
- google-apps-script - 返回箭头和烤肉串菜单未显示在 gmail 插件的 Gmail 应用程序中
- database - 拆分大型数据库的问题
- .net-core - 无法连接到 .NET core 3.1 中的远程 SignalR 集线器
- .net-core - 无法停止使用 BackgroundService 的 Windows 服务
- common-lisp - 如何在 cl-dbi 中插入 NULL 值
- android - 脱机时不显示 React-Native Webview html 文件
- html - 如何给一个空的 HTML div CSS 样式(背景)?
- python - YOLOv4 中的损失波动
- security - cookie 加密密钥应该是唯一的吗?