如何在新活动中使用变量?

时间:2017-09-10 16:47:30

标签: java android android-activity

我添加了一个从第一个活动传递到第二个活动的变量。 我想在新活动中使用从第一个活动接受的信息,并将其保存在新的双变量上,在textView上将其显示为永久变量。 现在,只有当我点击开始新活动的常规按钮时才会出现。

作为第一步,我想,我需要删除 - “startActivity(intent1);”。 我该如何继续前进?

Java代码: 第一个活动(名称:settings.java)

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_settings);
}
    public void onClick (View v){
    Intent intent = new Intent(settings.this, WaitressRecord.class);
    startActivity(intent);


}


protected void onClickWait (View v) {

    //--- Casting & Converting EditText "etSalaryWaitress" to Double "doubleSW".
    btnWaitress =(Button)findViewById(R.id.btnWaitress);
    etSalaryWaitress = (EditText) findViewById(R.id.etSalaryWaitress);
    doubleSW = Double.parseDouble(etSalaryWaitress.getText().toString());
    //---Casting Radio Button(s).
    rbPercentage = (RadioButton)findViewById(R.id.rbPercentage);
    rbShekel = (RadioButton)findViewById(R.id.rbShekel);


    if (doubleSW < 100 ) {
        if (rbPercentage.isChecked()) {
            HafrashaP = 1 - (doubleSW / 100.0);
            strHafPer = String.valueOf(HafrashaP);
            Toast.makeText(settings.this, strHafPer, Toast.LENGTH_SHORT).show();
            // start the SecondActivity
            Intent intent1 = new Intent(this, WaitressRecord.class);
            intent1.putExtra(Intent.EXTRA_TEXT, strHafPer);
            startActivity(intent1);
        } else if (rbShekel.isChecked()) {
            HafrashaS = -doubleSW;
            strHafShek = String.valueOf(HafrashaS);
            Toast.makeText(settings.this, strHafShek, Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(settings.this, "לא הוזנה סוג ההפרשה", Toast.LENGTH_SHORT).show();
        }
    } else {
        Toast.makeText(settings.this, "מספר שגוי", Toast.LENGTH_SHORT).show();
    }
}

新活动:(姓名:WaitressRecord.java)

public class WaitressRecord extends AppCompatActivity {

    String strHafPer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_waitress_record);

        // get the text from MainActivity
        Intent intent1 = getIntent();
        strHafPer = intent1.getStringExtra(Intent.EXTRA_TEXT);

        // use the text in a TextView
        TextView textView = (TextView) findViewById(R.id.textView);
        textView.setText(strHafPer);
    }
}

1 个答案:

答案 0 :(得分:0)

   //First Activity 
Intent intent= new Intent(this, SecondActivity.class);
Bundle extra = new Bundle();
mBundle.putString(VARIABLE_KEY, value);
intent.putExtras(mBundle);
  startActivity(intent);

 //on the second Acitivty 

 intent intent = getIntent();
 Bundle bundleExtra;
 //Null Checking
if (intent != null ) { 
bundleExtra = getIntent().getExtras();
// Be sure your check your "VARIABLE KEY SAME AS in THE FIRST ACTIVITY
String resultString = extras.getString("VARIABLE_KEY");
}