我的"ActivityResultRegistry“中有一个例外。我从java开始,所以我不是专家。
public boolean onOptionsItemSelected(MenuItem item)
{
// Traitement du résultat de l'activité réservation
ActivityResultLauncher<Intent> reservationLauncher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
if(result.getResultCode() == Activity.RESULT_OK)
{
Toast.makeText(MainActivity.this, "Réservation confirmée", Toast.LENGTH_SHORT).show();
}
}
}
);
Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show();
switch(item.getItemId())
{
case R.id.MenuRechercher:
Log.i("LocDVD", "Rechercher un film");
return true;
case R.id.MenuReserver:
// Log.i("LocDVD", "Réserver un film");
// Lance l'activité qui affiche la fenêtre de réservation
Intent intent = new Intent(MainActivity.this, Reservation.class);
reservationLauncher.launch(intent);
return true;
case R.id.MenuMagasin:
Log.i("LocDVD", "Acheter un film");
return true;
case R.id.MenuContact:
Log.i("LocDVD", "Nous contacter");
return true;
}
return true;
}逻辑猫还我这个:
致命异常:主进程: com.example.event_manager_mobil,PID: 11654 java.lang.IllegalStateException: LifecycleOwner java.lang.IllegalStateException:LifecycleOwner试图在当前状态恢复时注册。LifecycleOwners必须在启动前调用寄存器。
提前谢谢你的回答。
发布于 2022-02-28 09:31:13
我找到解决办法了。我把这个函数放在onCreate中
https://stackoverflow.com/questions/71289515
复制相似问题