кнопка назад на втором наборе контентов - PullRequest
0 голосов
/ 14 февраля 2012

В моем классе я использую setcontentview (R.layout.main2), в котором после точки в классе при нажатии кнопки вызывается второй макет main3.Я не знаю, как использовать кнопку «Назад» на втором макете, чтобы вернуться на главную2.Я пытаюсь использовать finish();, но это больше возвращает меня к макету main1.Также я пытаюсь снова вызвать раскладку main2, но тогда мои кнопки не работают.Как это можно сделать?

РЕДАКТИРОВАТЬ

public class Conn extends Activity 

 public void onCreate(Bundle mSavedInstanceState) 
    {
        super.onCreate(mSavedInstanceState);
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.main2);
}

findViewById(R.id.Devices).setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        setContentView(R.layout.devices);

        if (DeviceName==(null))
        {
            DeviceName="Not Connected";
        }
        final TextView BDConnected = (TextView) findViewById(R.id.BDConnected);
          BDConnected.setText("BD Device Connected :"+DeviceName);

          WifiManager wifiManager=(WifiManager) getSystemService(Context.WIFI_SERVICE);
        String net=wifiManager.getConnectionInfo().getSSID();
        //wifiManager.getConnectionInfo().getSSID();
          final TextView WiFiConnected = (TextView) findViewById(R.id.WiFiConnected);
          WiFiConnected.setText("WiFi NetWork Connected :"+net);
}}):
}

на текущем этапе я называю мой основной макет (main2).когда кнопка устройства нажата из основного макета, он перенаправляет меня на второй макет (устройства).с этого момента, как я могу вернуться к макету main2?

EDIT2

Я использую видоискатели и объединяю два макета в один, а также switch.previous и next

Ответы [ 3 ]

1 голос
/ 14 февраля 2012

Во-первых, вы должны знать, что в Android идея на самом деле не в том, чтобы сохранять одно действие и перебрасывать его между отдельными представлениями, используя setContentView при нажатии клавиш.Как правило (и да, есть исключения из этого, но , как правило, ), вы должны иметь различную активность для каждого экрана, на котором вы хотите показать экран списка пользователей, подробный экран и т. Д. Затем, когда пользователь захочетчтобы вернуться к предыдущему экрану, они нажимают кнопку «назад», текущая активность извлекается из стека, и появляется предыдущий.

A действительно хороший ресурс, чтобы прочитать обо всем этомбудет страница «Активность» Справочника разработчика Android, , расположенная здесь. Особенно важными для вас будут разделы «Жизненный цикл активности» и «Запуск действий и получение результатов».

0 голосов
/ 06 февраля 2018

Поздний ответ для будущих googlers.

Создайте логическое значение «secondViewOpened» со значением по умолчанию «false».Затем измените его на true:

setContentView(R.layout.secondview);
secondViewOpened=true;

Используйте ваш onBackPressed так:

@Override
public void onBackPressed() {
    if (secondViewOpened)
    ...
    else 
    ...
}

Не забудьте снова изменить значение на false при закрытии этого представления.

0 голосов
/ 16 февраля 2012

вы можете написать так для обработки кнопки возврата

@Override
public void onBackPressed() {
    Intent backPressedIntent = new Intent();
    backPressedIntent .setClass(getApplicationContext(), main2.class);
    startActivity(backPressedIntent );
    finish();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...