2015-01-28 3 views
-1

У меня есть два основных действия с двумя отдельными файлами XML, которые предназначены для двух языков. , когда кто-то нажат на кнопку «Изображение» в главной роли ENG, он изменится, и появится другая активность с разным макетом и языком.Задняя кнопка должна выйти прямо

Точка есть, у меня есть метод Back Pressed(), который, если пользователь дважды нажал кнопку, должен выйти из приложения.

Теперь, что я получаю, когда много нажатий и переключаться между двумя действиями, нажатие кнопки назад назад к предыдущей операции до конца, что кажется абсолютно правильным, но мне нужно немедленно выйти. Что я могу сделать?

public void onBackPressed() 
{ 

    if(count == 1) 
    { 
     count=0; 
     finish(); 
    } 
    else 
    { 
     Toast.makeText(getApplicationContext(), "Press Back again to quit.", Toast.LENGTH_SHORT).show(); 
     count++; 
     super.onBackPressed(); 
    } 
    return; 
} 

Thanx

+0

, если поведение вашей деятельности на самом деле отличается от 2 языка, то маловероятно, что вам нужно 2 действия, 2 макеты должны быть достаточно – njzk2

ответ

0

Простой сценарий, Вы начинаете вашу деятельность B от активность А по нажатию кнопки:

yourButton.setOnClickListener(new OnClickListener(){ 

     @Override 
     public void onClick(View v){ 

     Intent i = new Intent(YourActivity.this,YourNextActivity.class); 
     startActivity(i); 
     finish();//finish Your first activity 


    } 


    }); 

Единственное, что вы нужно сделать, чтобы закончить первое действие, из которого вы переходите к следующему. Затем у Activity B нет возможности вернуться к Activity A, а приложение «завершает».

+0

простой как пирог ... большое спасибо ... – ehsUn

0

Это статья о выходе и выйти в Android программы и приложения. http://android.nextapp.com/site/fx/doc/exit

, но и для ваших целей приложения вы код использует эти линии:

finish();   
moveTaskToBack(true); 
System.exit(0); 
0

Это правильное поведение, до quit, вам нужно позвонить finish() по обоим мероприятиям. Однако, если вы создадите второе действие с флагом Intent.FLAG_ACTIVITY_CLEAR_TOP, вы сможете выйти, как описано. Однако ваши пользователи не смогут вернуться в иерархию действий - вы уверены, что хотите этого?

В любом случае, таким образом, вы будете иметь возможность бросить:

final Intent intent = new Intent(this, SecondActivity.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
Смежные вопросы