2016-02-12 34 views
-1

我需要一些帮助,以实现以下目标:安卓:上一页按钮,而不会丢失数据

当我在我以前的按键我想申请去到前一个页面点击,而不会失去我的数据。我已经将前一个按钮添加到应用程序中,但是当我单击它时,我的应用程序将转到主页而不是前一页。

我的代码:

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(); 
       } 
      } 
     }); 
    } 

回答

0

你并不需要启动活动去之前的活动(如果你还没有叫上finish()),只需关闭当前的活动,它会转到之前的活动并且数据将保持不变。

更改previous按钮onClick方法这样

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

注:如果您已经通过调用finish()然后删除代码关闭之前的活动,否则数据不会没有修改代码完好那个活动。