gpt4 book ai didi

android - 刷新 recyclerview 时出现 NullPointerException

转载 作者:行者123 更新时间:2023-11-29 01:23:00 28 4
gpt4 key购买 nike

<分区>

所以我有一个 AsyncTask 类来处理填充我的 RecyclerView。它运行良好,但当它需要刷新时,它会因 NullPointerException 而崩溃。我知道为什么,但后来我做不到,因为我正在创建一个新的 object 并将其添加到我的 list

这是我的代码:

  @Override
protected void onPostExecute(String s) {
try {
userslist.clear();
JSONArray jsonArray = new JSONArray(s);
for(int i=0; i < jsonArray.length(); i++){
...
UsersData usersData = new UsersData(var1, var2);
userslist.add(UsersData);
}
cAdapter.notifyDataSetChanged(); // Culprit line, despite the list being deleted and added again in the try block
} catch (JSONException e) {
e.printStackTrace();
}
}

我怀疑它与 userslist 有关。

这是我的错误日志:

java.lang.NullPointerException
at lukazs.newapp.UserInfo$GetUserList.onPostExecute(UserInfo.java:218)
at android.os.AsyncTask.finish(AsyncTask.java:741)
at android.os.AsyncTask.access$600(AsyncTask.java:197)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:654)
at android.os.Handler.dispatchMessage(Handler.java:100)

编辑:这是我填充 recyclerview 的方法调用:

public void populateRecyclerList(){
GetUserList getUserList = new GetUserList();
getUserList.execute();
}

@Override
protected void onCreate(Bundle savedInstanceState) {
...
setContentView(R.layout.usersdetails);
populateRecyclerList();
}

这是 cAdapter 初始化的地方,在 onCreate 方法中:

RecyclerView.Adapter cAdapter;
ArrayList<UserDetailsProvider> userslist = new ArrayList<UserDetailsProvider>();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
recyclerView = (RecyclerView) findViewById(R.id.recycleMusic);
cAdapter = new UserDefinedAdapter(userslist);
recyclerView.setAdapter(cAdapter);
populateRecyclerList();
}

编辑:我现在已经做了一些事情,但是 populateRecyclerList()onPostExecute 上的另一个 AsyncTask 类 中崩溃了。基本上,我想在添加用户后重新填充 recyclerView。这是我的 onPostExecute() 方法代码,我在其中调用 populateRecyclerList() 方法:

@Override
protected void onPostExecute(String s) {
populateRecyclerList();
}

也许你不打算在这里调用这个方法?但是我该如何更新 RecyclerView

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com