Android - Создание и управление деятельностью - PullRequest
1 голос
/ 08 января 2012

Я создал ДВА экрана, которые я вставлю нижеприведенному коду.

`FirstScreen:` i have a button and when tap/click it will go to `SecondScreen`
`SecondScreen:` i have a button and when tap/click it will go to `FirstScreen`

// code: //

public class FirstScreen extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button btn = (Button)findViewById(R.id.btnPressMe);

        btn.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                startActivity(new Intent(Main.this, SecondScreen.class));
            }
        }); 
    } 
}


public class SecondScreen extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.secondscreen);

        Button btn = (Button)findViewById(R.id.btnGoToThirdScreen);

        btn.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                //startActivity(new Intent(Main.this, SecondScreen.class));
                //HOW DO I GOT TO FIRST SCREEN????
            }
        }); 
    } 
}

, если есть лучший способ сделать это, пожалуйстадай мне знать.- Спасибо.

Ответы [ 4 ]

2 голосов
/ 08 января 2012

Если вы хотите вернуться назад к первому действию, вам просто нужно закончить второе, а не создавать новый экземпляр первого действия, это делается так:

public void onClick(View v) {
    finish();
}

Чтобы начать второе действие с первого, вы должны сделать:

startActivity(new Intent(FirstScreen.this, SecondScreen.class));
1 голос
/ 08 января 2012

Во втором классе используйте функцию finish ().

1 голос
/ 08 января 2012

Ну, вы могли бы позвонить finish() вместо того, чтобы начинать новую деятельность через намерение.onDestroy() вызывается после finish() закрытия операции.

Если вы попытаетесь вернуться назад с помощью намерения, вам также понадобится флаг Intent.FLAG_ACTIVITY_CLEAR_TOP, установленный с помощью setFlags(), в противном случае у вас будет много действий.в заднем стеке, если вы продолжали переключаться между ними.

Вы действительно должны использовать встроенную кнопку назад, если у вас нет веских причин не делать этого.

0 голосов
/ 08 января 2012

В onClick () для кнопки на втором экране поместите только одну строку:

Finish ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...