Android 如何使用onbindviewholder等待asynctask的完成执行?

Android 如何使用onbindviewholder等待asynctask的完成执行?,android,android-asynctask,android-recyclerview,Android,Android Asynctask,Android Recyclerview,这里,addtodatabase4扩展了asynctask,check是一个全局变量。我希望保持onbindviewholder的其余执行,直到addtodatabase4完成其执行,因为在使用settext设置状态textview时,我需要修改check的值。如何做到这一点。使用此代码addtodatabse4将在末尾执行。创建一个标志: @Override public void onBindViewHolder(ViewHolder holder, int position) {

这里,addtodatabase4扩展了asynctask,check是一个全局变量。我希望保持onbindviewholder的其余执行,直到addtodatabase4完成其执行,因为在使用settext设置状态textview时,我需要修改check的值。如何做到这一点。使用此代码addtodatabse4将在末尾执行。

创建一个标志:

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    User user = mUsers.get(position);
    String currentuser = FirebaseAuth.getInstance().getCurrentUser().getEmail();
    new AddTodatabase4(user.email,currentuser).execute();
    System.out.println("checking check"+check);

    if(check==1){
        holder.status.setText("message");}

    String alphabet = user.email.substring(0, 1);

    holder.txtUsername.setText(user.email);
    holder.txtUserAlphabet.setText(alphabet);

  //  System.out.println(currentuser+" "+user.email);


}
内部
onPostExecute
将isDownloadFinished设置为
true

public static boolean isDownloadFinished = false;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        isDownloadFinished = false;
    }
然后:


我将整个viewholder传递给asynctask,然后在检查条件后将状态textview自身设置在那里。

尝试将该
holder传递给asynctask,如

if(YourClass.isDownloadFinished){
    // do your task here
}

并在AsyncTask的
onPostCreate
中的保持架中设置文本视图。

甚至AsyncTask.get not working…onbindview函数首先设置不同的视图..在哪里调用
recyclerView.setAdapter(适配器)?在
onPostExecute
中设置适配器。我每次都需要将user.email传递给addtodatabse4,因此无法在postexecute中设置适配器。请将任务完成后要做的事情放在任务的
onPostExecute
中。
if(YourClass.isDownloadFinished){
    // do your task here
}
new AddTodatabase4(user.email,currentuser, holder).execute();