我有下一个方法:
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)
在这里写下我在评论中写的内容,并附有解释。方法签名可能类似于:
private void showPaymentPopUp(int pLayout)
因为资源标识符是整数值。您无法在the official android documentation
中找到对此的明确解释然后在showPaymentPopUp
方法内部-可以按以下方式使用布局:
epicDialog.setContentView(pLayout);
呼叫应该是:
showPaymentPopUp(R.layout.order_popup_payment_accepted)