美文网首页
如何写一个回调函数?

如何写一个回调函数?

作者: 一点墨汁 | 来源:发表于2017-06-13 11:33 被阅读438次

    如何写一个回调函数?

    第一步:定义一个接口文件

    public interface OnLoadCallbackListener {
        void onLoadCallback(String str);
    }
    

    第二步:可以实现一个类,用来做耗时处理,然后调用改接口方法

    public class LoadTask extends AsyncTask<String,Integer,String> {
    
        private OnLoadCallbackListener onLoadCallbackListener;
    
        public LoadTask(Context context, OnLoadCallbackListener onLoadCallbackListener) {
            this.onLoadCallbackListener = onLoadCallbackListener;
        }
    
        @Override
        protected String doInBackground(String... params) {
            // do something
            return "我是回调结果";
        }
    
        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            onLoadCallbackListener.onLoadCallback(s);
        }
    }
    

    第三步:在被调用方法中,实现该回调接口

    public class MainActivity extends AppCompatActivity implements OnLoadCallbackListener {
        
        private LoadTask loadTask;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
                    TestHuiDiao();
        }
    
        private void TestHuiDiao() {
            loadTask = new LoadTask(this,this);
            loadTask.execute();
        }
    
        @Override
        public void onLoadCallback(String str) {
            Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
        }
    }
    
    

    相关文章

      网友评论

          本文标题:如何写一个回调函数?

          本文链接:https://www.haomeiwen.com/subject/fzrdqxtx.html