Android 如何使用onbindviewholder等待asynctask的完成执行?
这里,addtodatabase4扩展了asynctask,check是一个全局变量。我希望保持onbindviewholder的其余执行,直到addtodatabase4完成其执行,因为在使用settext设置状态textview时,我需要修改check的值。如何做到这一点。使用此代码addtodatabse4将在末尾执行。创建一个标志: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) {
@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();