我正在做一个项目,在打印之前我必须检查打印机中是否有纸卷。 这是我的代码:
private void ImpressionTicket() {
new Print(cardNo, mBaseActivity,transEntity);
while (Print.print_state.equals("true")) ;//true
if(Print.print_state.equals("Paper Lack")){
PrintFail( -1005);
}
else {
PrintDialog();
while (PrintDial.equals("HERE")) ;
ImpresssionDialog();
new PrintClient(cardNo, mBaseActivity, transEntity);
while (PrintClient.print_state_Client) ;
getActivity().finish();
Intent intent = new Intent(getActivity(), CashActivity1.class);
startActivity(intent);
}
}
这里是PrintFail()代码:
private void PrintFail(final int i) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
pwdAlertDialogistrsE.setTitle("Papier introuvable");
TRScheck.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
pwdAlertDialogistrsE.dismiss();
ImpressionTicket();
}
});
switch (i) {
case -1005:
pwdAlertDialogistrsE.setMessage("\n"+"\n"+"Insérez papier puis validez "+"\n"+"\n"+"\n"+"\n"+"\n");
break;
}
pwdAlertDialogistrsE.show();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int displayWidth = displayMetrics.widthPixels;
int displayHeight = displayMetrics.heightPixels;
// Initialize a new window manager layout parameters
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
// Copy the alert dialog window attributes to new layout parameter instance
layoutParams.copyFrom(pwdAlertDialogistrsE.getWindow().getAttributes());
int dialogWindowWidth = (int) (displayWidth * 0.9f);
// Set alert dialog height equal to screen height 70%
int dialogWindowHeight = (int) (displayHeight * 0.8f);
// Set the width and height for the layout parameters
// This will bet the width and height of alert dialog
layoutParams.width = dialogWindowWidth;
layoutParams.height = dialogWindowHeight;
// Apply the newly created layout parameters to the alert dialog window
pwdAlertDialogistrsE.getWindow().setAttributes(layoutParams);
}
});
}
如果没有纸张,则该代码应会显示警报对话框,以便用户插入。之后,用户单击“确定”按钮并打印票证。 现在的问题是,在添加纸张并单击确定之后,else语句中的AlertDialog不显示。 任何人都知道为什么。