Из документации разработчика Android
FLAG_ACTIVITY_REORDER_TO_FRONT
public static final int FLAG_ACTIVITY_REORDER_TO_FRONT
Если установлено в намерении, переданном Context.startActivity () этот флаг приведет к тому, что запущенная активность будет перенесена в начало стека истории ее задачи, если она уже запущена.
Например, рассмотрим задачу, состоящую из четырех действий: A, B, C, D. Если D вызывает startActivity () с намерением, которое разрешается к компоненту действия B, то B будет выведен на передний план стек истории, с таким результирующим порядком: A, C, D, B. Этот флаг будет игнорироваться, если также указан FLAG_ACTIVITY_CLEAR_TOP.
blockquote>В вашем случае вы можете переключаться между
ActivityA
иActivityB
, не заканчивая и не воссоздавая их.Соедините это.
ActivityA
// Call this method when users press a button on ActivityA to go to ActivityB. public void goToActivityB(View view) { Intent intent = new Intent(this, ActivityB.class); intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); } // When users press a button from ActivityB, ActivityA will be bring to front and this method will be called by Android. @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); // Write your logic code here }
ActivityB
// Call this method when users press on a button in ActivityB public void backToActivityA(View view) { Intent intent = new Intent(this, ActivityA.class); intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); } // When users press a button from ActivityA, ActivityB will be bring to front and this method will be called by Android. @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); // Write your logic code here }
Оператор конкатенации '&'; позволяется на правой стороне оператора присваивания сигнала '< = ', только
Вот пример оператора конкатенации:
architecture EXAMPLE of CONCATENATION is
signal Z_BUS : bit_vector (3 downto 0);
signal A_BIT, B_BIT, C_BIT, D_BIT : bit;
begin
Z_BUS <= A_BIT & B_BIT & C_BIT & D_BIT;
end EXAMPLE;
Вам не разрешено использовать оператор конкатенации с оператором case. Одно из возможных решений - использовать переменную внутри процесса:
process(b0,b1,b2,b3)
variable bcat : std_logic_vector(0 to 3);
begin
bcat := b0 & b1 & b2 & b3;
case bcat is
when "0000" => x <= 1;
when others => x <= 2;
end case;
end process;