2

J2ME でアプリケーションを作成しています。私は1つとページを持っLoginpageていSearchingAccountます。

AlertSuccessこの 2 つのページの間にandを挿入しAlertFailureます。ユーザーが正常
にログインAlertSuccessすると、アラートをクリックした後にリダイレクトされ、ページにリダイレクトされSerachAcountます。

私はこれを正常に実行しますが、ユーザーが間違った詳細を入力すると AlertFailure、ログインページを表示して再度表示する必要がありますが、ユーザーが間違った詳細を入力してもアプリケーションがページAlertSuccessを表示して表示し SearchAccountます。

いろいろ試しましたがうまくいきませんでした。これを行う方法についてのヒントを教えてください。

これが私の MIDlet フロー画面です。 これが私の MIDlet フロー画面です。

参照用の私のコードは次のとおりです。

 } else if (displayable == Login) {
        if (command == Login1) {
             u_Name=txtUserId.getString();
             u_Password=txtPassword.getString();
            readUserRecords(u_Name, u_Password);

            switchDisplayable(null, getWaitScreen());
public void readUserRecords(String userName,String Password){
try{
  byte[] recData = new byte[5];
  int len;

  for(int i = 1; i <= rs.getNumRecords(); i++){
    if(rs.getRecordSize(i) > recData.length){

      recData = new byte[rs.getRecordSize(i)];
    }
    len = rs.getRecord(i, recData, 0);
    String str= new String(recData,0,len);

   s=str.indexOf(userName);
   s1=str.indexOf(Password);
   splitUserRecord(str);

   System.out.println("User Login Page--------------------------------------");
   System.out.println("---index of string-------"+s+" and "+s1);
   if(u_id.equals(u_Name)&& u_pass.equals(u_Password))
  {

        System.out.println("UserLogin Successfully "+str);
        alertSuccess = new Alert("OK", "You are Login Successfully!",
        successimg, AlertType.INFO);
       alertSuccess.setImage(successimg);
        display.setCurrent(alertSuccess, Login);



   }
else
   {
        System.out.println("Enter Wrong user name");
        alertFailure = new Alert("Cancel", "Enter correct user name and password!",failureimg, AlertType.INFO);
         System.out.println("Enter Wrong user name1");
            alertFailure.setImage(failureimg);
             System.out.println("Enter Wrong user name2");
             display.setCurrent(alertFailure, Login);
              System.out.println("Enter Wrong user name3");
       // getAlertFailure();        

    }

  }
}catch (Exception e){}
}
public Alert getAlertFailure() {
    if (alertFailure == null) {

        alertFailure = new Alert("alert");
        alertFailure.setTimeout(Alert.FOREVER);
        alertFailure.setImage(failureimg);
        display.setCurrent(alertFailure,Login);
    }
    return alertFailure;
}
    public Alert getAlertSuccess() {
    if (alertSuccess == null) {

        alertSuccess = new Alert("alert1");
        alertSuccess.setTimeout(Alert.FOREVER);          
    }
    return alertSuccess;
}
4

1 に答える 1

2

私が正しければ、コードは自動生成されます。すべてのコードを手動で記述する必要があり、コマンド クリックで関数 (次のフォームが表示されます) を呼び出すだけです。

そして、このフォーム内に書く必要がありますdisplay.setCurrent(Form Name)。ただし、ウィジェットを特定のフォームに追加することを忘れないでください。

于 2012-05-15T05:46:01.473 に答える