Android:上一页按钮,不丢数据

Android: Previous page button, without losing data

我需要一些帮助来实现以下目标:

当我点击上一页按钮时,我希望应用程序转到上一页而不丢失我的数据。我已经在应用程序中添加了上一个按钮,但是当我单击它时,我的应用程序会转到主页而不是上一页。

我的代码:

 Button next,previous;
        next = (Button)findViewById(R.id.work_next);
        previous = (Button)findViewById(R.id.work_previous);
        previous.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intentSignUP = new Intent(getApplicationContext(), filldetails.class);
                startActivity(intentSignUP);
                finish();
            }
        });

        next.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                boolean allValues = true;

                String comp="",desg="",fromdate="",todate="",role_d="",technologies_used="";

                if(companyName.getText().toString().equals(""))
                {
                    allValues = false;
                    Toast.makeText(getApplicationContext(), "Please enter all the fields",Toast.LENGTH_SHORT).show();
                }
                else
                {
                    comp= companyName.getText().toString();
                    //Toast.makeText(getApplicationContext(), "Please enter all the fields",Toast.LENGTH_SHORT).show();
                }

                if(designation.getText().toString().equals(""))
                {
                    allValues = false;
                    Toast.makeText(getApplicationContext(), "Please enter all the fields",Toast.LENGTH_SHORT).show();
                }
                else
                {
                    desg = designation.getText().toString();
                    //Toast.makeText(getApplicationContext(), "Please enter all the fields",Toast.LENGTH_SHORT).show();
                }

                if(fromDate.getText().toString().length()<8 || fromDate.getText().toString().length()>10 ||fromDate.getText().toString().equals(""))
                {
                    allValues = false;
                    Toast.makeText(getApplicationContext(),"Please enter valid Date",Toast.LENGTH_SHORT).show();
                }
                else
                {
                    fromdate = fromDate.getText().toString();
                }
                if(toDate.getText().toString().length()<8 || toDate.getText().toString().length()>10 ||toDate.getText().toString().equals(""))
                {
                    allValues = false;
                    Toast.makeText(getApplicationContext(),"Please enter valid Date",Toast.LENGTH_SHORT).show();
                }
                else
                {
                   todate = toDate.getText().toString();
                }

                if(role_desc.getText().toString().equals(""))
                {
                    allValues = false;
                    Toast.makeText(getApplicationContext(), "Please enter all the fields",Toast.LENGTH_SHORT).show();
                }
                else
                {
                    role_d = role_desc.getText().toString();
                }

                if(technologiesUsed.getText().toString().equals(""))
                {
                    allValues = false;
                    Toast.makeText(getApplicationContext(), "Please enter all the fields",Toast.LENGTH_SHORT).show();
                }
                else
                {
                    technologies_used = technologiesUsed.getText().toString();
                }
                if(allValues)
                {
                    Intent moveToNext = new Intent(getApplicationContext(),skills.class);
                    moveToNext.putExtra("comp_name",comp);
                    moveToNext.putExtra("desc",desg);
                    moveToNext.putExtra("role_d",role_d);
                    moveToNext.putExtra("from_date",fromdate);
                    moveToNext.putExtra("to_date",todate);
                    moveToNext.putExtra("technologies_used",technologies_used);
                    moveToNext.putExtra("iscurrent",isCurrent.isChecked());
                    moveToNext.putExtra("aboutme",getIntent().getStringExtra("aboutme"));
                    moveToNext.putExtra("address",getIntent().getStringExtra("address"));
                    startActivity(moveToNext);

                    finish();
                }
                else
                {
                    Toast.makeText(getApplicationContext(), "Please provide all values", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

您无需启动 activity 即可转到上一个 activity(如果您尚未调用 finish()),只需关闭当前 [=23] =] 它将转到上一个 activity 并且数据将完好无损。

像这样更改 onClick 按钮的 previous 方法

@Override
public void onClick(View v) {
    finish();
}

注意:如果你已经通过调用finish()关闭了之前的activity,那么去掉那段代码,否则不修改你的代码,数据将不完整activity.