私は最初のアクティビティから2番目のアクティビティに渡す変数を追加しました。 新しいアクティビティで、最初のアクティビティから受け入れた情報を使用し、それを新しいdouble変数に保存し、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);
}
}
「は上の永続的なとして表示textView "SQLiteデータベースのように、その情報をどこかに残しておきたいですか?あなたのonClickWait()は使用されていないようです –
私はSQLiteを使用していません。私は変数のカップルのためにそれを使用する必要はないと思う。または私は間違っていますか? @AndrewChiLam –
これで達成しようとしていることを説明してください。\t "textViewで永久に表示する"アクティビティが再作成されたときにテキスト表示に値を表示するには、どこかに永続させ、saveInstanceState(画面回転)、SQLiteデータベースのsharedPreferencesにする必要があります。 –