Я работаю над проектом, в котором мне нужно проверить, есть ли в принтере рулон бумаги перед печатью.
вот мой код:
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);
}
});
}
код должен показывать диалоговое окно предупреждения, если бумаги нет, так что пользователь вставляет ее. После этого пользователь нажимает кнопку ОК, и билет распечатывается.
Теперь pblrm заключается в том, что после добавления статьи и нажатия кнопки «ОК» AlertDialog в остальном состоянии не отображается.
У кого-нибудь есть идеи почему.