AndroidのJavaで古い変数を使用して新しい変数を定義するにはどうすればよいですか? 私が話しているのは、このコードの文字列to, message, subject
と、等号の右側にいくつかのプレースホルダー名がある部分です。textSubject
etc などの値を、以前に定義した関連変数に変更する方法を知る必要があります。それらを完全に交換すると、何らかの理由で機能しません。
また、その直前に onClick メソッドを使用しない理由がわかりません。これがコードです。
public class RefillActivity extends Activity {
public String name;
public String birthday;
public String prescriptionOptions;
public String notes;
public String number;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.refill_activity_main);
sendRefillRequest();
Button submit = (Button) findViewById(R.id.ButtonSendRefillRequest);
submit.setOnClickListener(new View.onClickListener() {
@Override
public void onClick(View view) {
String to = textTo.getText().toString();
String message = textMessage.getText().toString();
String subject = name.getText().toString();
Intent mEmail = new Intent(Intent.ACTION_SEND);
mEmail.putExtra(Intent.EXTRA_EMAIL, new String[]{"test@example.com"});
mEmail.putExtra(Intent.EXTRA_SUBJECT, subject);
mEmail.putExtra(Intent.EXTRA_TEXT, message);
// prompts to choose email client
mEmail.setType("message/rfc822");
startActivity(Intent.createChooser(mEmail, "Choose an email client to send your feedback!"));
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.refill, menu);
return true;
}
public void sendRefillRequest(){
final EditText nameField = (EditText) findViewById(R.id.EditTextName);
name = nameField.getText().toString();
final EditText birthdayField = (EditText) findViewById(R.id.EditTextBirthday);
birthday = birthdayField.getText().toString();
final EditText numberField = (EditText) findViewById(R.id.EditTextPrescriptionNumber);
number = numberField.getText().toString();
final Spinner prescriptionOptions = (Spinner) findViewById(R.id.SpinnerPrescriptionOptions);
this.prescriptionOptions = prescriptionOptions.getSelectedItem().toString();
final EditText notesField = (EditText) findViewById(R.id.EditTextSpecialNotes);
notes = notesField.getText().toString();
}
}