Как получить результат от Asynctask в viewHolder? - PullRequest
1 голос
/ 10 марта 2020

Я хочу установить другой текст в соответствии с AsyncTask результатом в ViewHolder элементе из класса Adapter. Это мой ViewHolder класс.
Так как же получить результат от AsyncTask и изменить данные в ViewHolder элементе?

public static class MyViewHolder extends RecyclerView.ViewHolder {

        TextView title;

        public MyViewHolder(View itemView) {
            super(itemView);

            title = (TextView) itemView.findViewById(R.id.title_TV);
        }
    }

title .setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
                   if (receiverAudioMessageButton.getTag().equals("download"))
                   {
                      new DownloadAudioFromURL().execute(params);
                     //here i want to get result true or false from asynctask
                     // if asynctask==true...do something;
                     // else...do something;
                     // notifyItemChanged(getAdapterPosition);

                   }

                 }
           });

AsyncTask класс:

private class DownloadAudioFromURL extends AsyncTask<MyTaskParams, MyTaskParams, Boolean> {
     protected Boolean doInBackground(MyTaskParams... params) {

     }

     protected void onPostExecute(Boolean isDownload) {
         if (isDownload)
        {
            Toast.makeText(mContext, "Audio Downloaded Successfully", Toast.LENGTH_SHORT).show();
        }
        else
        {
           Toast.makeText(mContext, "Audio Not Downloaded", Toast.LENGTH_SHORT).show();
        }
     }
 }
...