如何在 onclick 中使用 private void?

how can use private void in the onclick?

如何在onclick中使用private void?

当用户点击商品时,我希望能计算出点赞数,那我该怎么做呢?

这是我的代码

holder.like.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //Toast.makeText(getApplicationContext(),"OK",Toast.LENGTH_SHORT).show();
                holder.likeCount.setText("1" + " likes");
                holder.likeImg.setImageResource(R.drawable.like);
                private void loadLikes() {
                    final ProgressDialog progressDialog = new ProgressDialog(getApplicationContext());
                    progressDialog.setMessage("Load...");
                    progressDialog.show();
                }
            }
        });

但是它有一个错误代码;

错误:表达式的非法开始 private void loadLikes() {

目前,您正在尝试在另一个函数内声明一个函数,但 java 不支持嵌套函数(仅通过 Lambda 和匿名 类)。您可以在侦听器回调之外声明 loadLikes() 函数,如下所示:

 private void loadLikes() {
        ProgressDialog progressDialog = new ProgressDialog(getApplicationContext());
        progressDialog.setMessage("Load...");
        progressDialog.show();
    }

然后在里面调用onClick()

holder.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //Toast.makeText(getApplicationContext(),"OK",Toast.LENGTH_SHORT).show();
            holder.likeCount.setText("1" + " likes");
            holder.likeImg.setImageResource(R.drawable.like);
            loadLikes();
        }
    });

干杯:)