繁体   English   中英

Android中的恢复方法

[英]Resume Method in Android

如果我没有填写表格并单击提交按钮并退出我的活动,我想恢复相同的活动。然后我再次启动我想启动的应用程序相同的活动。如何做到这一点。请有人帮助我。谢谢提前。

这是我的代码。

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.registration_details);

          SharedPreferences
          settings=getSharedPreferences("prefs",0); boolean
          firstRun=settings.getBoolean("firstRun",false);

          if(firstRun==false)//if running for first time 

          {
              SharedPreferences.Editor editor=settings.edit();
              editor.putBoolean("firstRun",true); 
              editor.commit();
              //execute your code for first time
          } 

          else 
          {     
              Intent iSubmit = new Intent(Registration_Form.this,Employee_List.class);
              startActivity(iSubmit);
              finish();
              //Default Activity startActivity(a); 
          }

        databaseHelper = new DatabaseHelper(this);
        databaseHelper.onOpen(db);

        et_CompanyName = (EditText) findViewById(R.id.editText_CompanyName);
        et_EmployeeName = (EditText) findViewById(R.id.editText_EmployeeName);
        et_CompanyWebsite = (EditText) findViewById(R.id.editText_CompanyWebSite);
        et_ContactNumber = (EditText) findViewById(R.id.editText_ConatctNo);
        et_Email_Id = (EditText) findViewById(R.id.editText_EmailId);

        radioGroup_FinancialYaer = (RadioGroup)findViewById(R.id.radioGroupFinanncialYear);


        btnSubmit = (Button) findViewById(R.id.buttonSubmit);
        btnSubmit.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                final String stringEmail_Id = et_Email_Id.getText().toString()
                        .trim();

                final String stringCompanyWebsite = et_CompanyWebsite.getText()
                        .toString().trim();

                if ((et_CompanyName.getText().toString().isEmpty())) {
                    et_CompanyName.setError("Field Can Not Be Empty !");
                }

                else if (!et_CompanyName.getText().toString().trim()
                        .matches("[a-zA-Z ]+")) {
                    et_CompanyName.setError("Accept Alphabets Only.");
                }

                else if ((et_EmployeeName.getText().toString().isEmpty())) {
                    et_EmployeeName.setError("Field Can Not Be Empty !");
                }

                else if (!et_EmployeeName.getText().toString().trim()
                        .matches("[a-zA-Z ]+")) {
                    et_EmployeeName.setError("Accept Alphabets Only.");
                }

                else if ((et_CompanyWebsite.getText().toString().isEmpty())) {
                    et_CompanyWebsite.setError("Field Can Not Be Empty !");
                }

                else if (!isValidUrl(stringCompanyWebsite)) {
                    et_CompanyWebsite.setError("Invalid URL");
                }

                else if ((et_ContactNumber.getText().toString().isEmpty())) {
                    et_ContactNumber.setError("Field Can Not Be Empty !");
                }

                else if (!isValidEmail(stringEmail_Id)) {
                    et_Email_Id.setError("Invalid Email");
                }

                else

                {
                    String stringCompanyName = et_CompanyName.getText()
                            .toString().trim();
                    String stringContactNumber = et_ContactNumber.getText()
                            .toString().trim();
                    String stringEmployeeName = et_EmployeeName.getText()
                            .toString().trim();


                    int selectedId = radioGroup_FinancialYaer.getCheckedRadioButtonId();
                    Log.e("selectedId "," = " + selectedId);
                    radioButton_FinancialYaer = (RadioButton) findViewById(selectedId);
                    strFinancialYear = radioButton_FinancialYaer.getText().toString().trim();
                    Log.e("strRadioButton "," = " + strFinancialYear);


                    databaseHelper.insertRegstrationDetails(stringCompanyName,
                            stringEmployeeName, stringCompanyWebsite,
                            stringContactNumber, stringEmail_Id, strFinancialYear);
                    System.out.println("Data Inserted Successfully !!! ");

                    Intent iSubmit = new Intent(Registration_Form.this,Staff_Employee_Details.class);
                    startActivity(iSubmit);
                    finish();
                }

            }
        });
    }

    // validating email id
    private boolean isValidEmail(String email) {

        String EMAIL_PATTERN = "[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" + "\\@"
                + "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" + "(" + "\\."
                + "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" + ")+";

        Pattern pattern = Pattern.compile(EMAIL_PATTERN);
        Matcher matcher = pattern.matcher(email);
        return matcher.matches();
    }


    private boolean isValidUrl(String url) {
        Pattern p = Patterns.WEB_URL;
        Matcher m = p.matcher(url);
        if(m.matches())
            return true;
        else
        return false;
    }

    @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {
         if ((keyCode == KeyEvent.KEYCODE_BACK)) {
             AlertDialog.Builder alertbox = new AlertDialog.Builder(Registration_Form.this);

             alertbox.setTitle("Do you wish to exit ?");
             alertbox.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface arg0, int arg1) { 
                    // finish used for destroyed activity
                     finish();
                 }
             });

             alertbox.setNegativeButton("No", new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface arg0, int arg1) {
                         // Nothing will be happened when clicked on no button 
                         // of Dialog     
               }
             });

             alertbox.show();
         }
         return super.onKeyDown(keyCode, event);
     }

}

将所有EditText值放在Database的表中。

在表中保留一个称为count的额外列。 当用户按下Submit按钮时,将根据用户当时在EditText输入的条目数来增加count的值,并将其保存在数据库中。

当用户再次启动您的应用程序时,请检查count的值,如果它等于您的期望值,则根据您的要求将其路由,如果它小于期望值,则显示您的表单活动,从数据库中填充数据。

您可以使用启动画面来实现此功能。

编辑:您实际想要的内容

如果用户按下后退按钮并启动您的应用程序,那么如果您是启动程序活动,那么您将被定向到相同的活动,否则您可以检查是否所有字段都未填写,然后可以将boolean值保存在SharedPreference并在启动时检查其状态您的应用,并启动此活动(如果是这样)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM