onOptionsItemSelected未被调用,所以我无法转到下一页意图



我想问我想在页面标题上设置菜单添加按钮,我已经创建了图标菜单布局并将其设置为 java,但是当我运行它时,它无法在该按钮内完成工作(如验证器和意图(。我已经尝试调试,但它没有在断点传递。这是图像和代码。

页眉上的按钮

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_tambah, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.btn_tambah:
boolean isValidatorsPassed = true;
if (TextUtils.isEmpty(etNamaDokter.getText().toString())) {
isValidatorsPassed = false;
etNamaDokter.setError("Harap isi nama dokter");
}
if (TextUtils.isEmpty(etTanggalLahirDokter.getText().toString())) {
isValidatorsPassed = false;
etTanggalLahirDokter.setError("Harap isi tanggal lahir dokter");
}
if (TextUtils.isEmpty(etNoHp.getText().toString())) {
isValidatorsPassed = false;
etNoHp.setError("Harap isi nomor HP / telepon rumah dokter");
}
if (TextUtils.isEmpty(etJadwalPraktek.getText().toString())) {
isValidatorsPassed = false;
etJadwalPraktek.setError("Harap isi jadwal praktek dokter yang bersangkutan");
}
if (isValidatorsPassed) {
String namaDokter, tanggalLahirDokter, noHpDokter, jadwalPraktekDokter;
namaDokter = etNamaDokter.getText().toString();
tanggalLahirDokter = etTanggalLahirDokter.getText().toString();
noHpDokter = etNoHp.getText().toString();
jadwalPraktekDokter = etJadwalPraktek.getText().toString();
Intent intentBarcodeGenerator = new Intent(TambahDokterActivity.this, BarcodeGeneratorActivity.class);
intentBarcodeGenerator.putExtra("nama dokter", namaDokter);
intentBarcodeGenerator.putExtra("tanggal lahir", tanggalLahirDokter);
intentBarcodeGenerator.putExtra("no hp", noHpDokter);
intentBarcodeGenerator.putExtra("jadwal praktek", jadwalPraktekDokter);
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}

你忘了开始意图

你的代码会是这样的。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_tambah, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.btn_tambah:
boolean isValidatorsPassed = true;
if (TextUtils.isEmpty(etNamaDokter.getText().toString())) {
isValidatorsPassed = false;
etNamaDokter.setError("Harap isi nama dokter");
}
if (TextUtils.isEmpty(etTanggalLahirDokter.getText().toString())) {
isValidatorsPassed = false;
etTanggalLahirDokter.setError("Harap isi tanggal lahir dokter");
}
if (TextUtils.isEmpty(etNoHp.getText().toString())) {
isValidatorsPassed = false;
etNoHp.setError("Harap isi nomor HP / telepon rumah dokter");
}
if (TextUtils.isEmpty(etJadwalPraktek.getText().toString())) {
isValidatorsPassed = false;
etJadwalPraktek.setError("Harap isi jadwal praktek dokter yang bersangkutan");
}
if (isValidatorsPassed) {
String namaDokter, tanggalLahirDokter, noHpDokter, jadwalPraktekDokter;
namaDokter = etNamaDokter.getText().toString();
tanggalLahirDokter = etTanggalLahirDokter.getText().toString();
noHpDokter = etNoHp.getText().toString();
jadwalPraktekDokter = etJadwalPraktek.getText().toString();
Intent intentBarcodeGenerator = new Intent(TambahDokterActivity.this, BarcodeGeneratorActivity.class);
intentBarcodeGenerator.putExtra("nama dokter", namaDokter);
intentBarcodeGenerator.putExtra("tanggal lahir", tanggalLahirDokter);
intentBarcodeGenerator.putExtra("no hp", noHpDokter);
intentBarcodeGenerator.putExtra("jadwal praktek", jadwalPraktekDokter);
startActivity(intentBarcodeGenerator); //Add this line here
}
return true;
default:
return super.onOptionsItemSelected(item);
}

最后,我知道会发生什么。它可能发生是android工作室错误,因为当我失效并重新启动时,它正常运行或应该正常运行。

最新更新