Это будет работать, инициализируя спиннер и findviewbyid, и использовать это будет работать
Spinner schemeStatusSpinner;
schemeStatusSpinner = (Spinner) dialog.findViewById(R.id.spinner);
schemeStatusSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
// your code here
if(schemeStatusSpinner.getSelectedItemId()==4){
reasonll.setVisibility(View.VISIBLE);
}
else {
reasonll.setVisibility(View.GONE);
}
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
Вы видите различие между двумя контекстами при запуске приложения непосредственно от главного экрана по сравнению с тем, когда приложение запускается из другого приложения через намерение доли.
Здесь практический пример какой "нестандартные задние поведения стопки", упомянутый @CommonSenseCode, средствами:
предположим, что у Вас есть два приложения, которые общаются друг с другом, App1 и App2.
Запуск App2:MainActivity от средства запуска. Затем от запуска MainActivity App2:SecondaryActivity. Там, или использование контекста действия или контекста приложения, обе операции, живые в той же задаче и это в порядке (учитывая, что Вы используете все стандартные режимы запуска и поглощенные флаги). Можно вернуться в MainActivity с задним нажатием, и в недавних приложениях у Вас есть только одна задача.
предположим теперь, когда Вы находитесь в [1 119] App1 и запуск App2:MainActivity с намерением доли (ACTION_SEND или ACTION_SEND_MULTIPLE). Затем оттуда попытайтесь запуститься App2:SecondaryActivity (всегда со всеми стандартными режимами запуска и поглощенными флагами). То, что происходит:
, если Вы запускаете App2:SecondaryActivity с контекстом приложения на Android < 10 Вы не можете запуститься все операции в та же задача . Я попробовал андроидом 7 и 8, и SecondaryActivity всегда запускается в новой задаче (я предполагаю, то, потому что App2:SecondaryActivity запускается с контекстом приложения App2, но Вы происходите из App1, и Вы не запускали приложение App2 непосредственно. Возможно, под андроидом капота распознают, что и используют FLAG_ACTIVITY_NEW_TASK). Это может быть хорошо или плохо в зависимости от Ваших потребностей, поскольку мое приложение было неработающим.
На Android 10 эти сбои приложения с сообщением
, "Звонящим startActivity () от за пределами контекста Действия, требует флага FLAG_ACTIVITY_NEW_TASK. Это действительно, что Вы хотите?" .
Так, чтобы заставить его работать над Android 10 необходимо использовать FALG_ACTIVITY_NEW_TASK, и Вы не можете выполнить все операции в той же задаче.
, Как Вы видите, поведение отличается между версиями андроида, является странным.
, если Вы запускаете App2:SecondaryActivity с контекстом действия, все подходит, и можно выполнить все операции в той же задаче, приводящей к линейной backstack навигации.
я надеюсь, что добавил немного полезной информации