函数的未知参数

问题描述 投票:-3回答:1

我有下一个方法:

private void showPaymentPopUp() {
        epicDialog.setContentView(R.layout.order_popup_payment_accepted);
        epicDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        btnPaymentAcceptedOK = epicDialog.findViewById(R.id.btnPaymentAcceptedOK);

        btnPaymentAcceptedOK.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                epicDialog.dismiss();
            }

        });
    }

而且我想将此R.layout.order_popup_payment_accepted提取到方法参数中,但我不知道该参数应使用哪种数据类型(如您所见,IDONTKNOW是占位符)

private void showPaymentPopUp(IDONTKNOW pLayout) {
        epicDialog.setContentView(R.layout.pLayout);
        epicDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        btnPaymentAcceptedOK = epicDialog.findViewById(R.id.btnPaymentAcceptedOK);

        btnPaymentAcceptedOK.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                epicDialog.dismiss();
            }

        });
    }

这是预期的函数调用:

private void showPaymentPopUp(order_popup_payment_accepted) 

或者也许

private void showPaymentPopUp(R.layout.order_popup_payment_accepted)
java android android-studio parameter-passing
1个回答
0
投票

在这里写下我在评论中写的内容,并附有解释。方法签名可能类似于:

private void showPaymentPopUp(int pLayout)

因为资源标识符是整数值。您无法在the official android documentation

中找到对此的明确解释

然后在showPaymentPopUp方法内部-可以按以下方式使用布局:

epicDialog.setContentView(pLayout);

呼叫应该是:

showPaymentPopUp(R.layout.order_popup_payment_accepted)
© www.soinside.com 2019 - 2024. All rights reserved.