Aplikacje w Androidzie oparte są często na kilku przełączalnych widokach, na przykład pierwszy to menu, a drugi rysuje oparty o wybory z menu interfejs graficzny. W tym celu należy przełączać między sobą widoki Activity.

W tym celu tworzymy nowy Activity: po lewej nad MainActivity prawy klawisz myszy -> New -> Activity -> Rodzaj

Powiedzmy, że mamy button, który ma nas przekierować do nowego Activity. Musimy stworzyć obiekt typu Intent (oknoGry), który przełączy widok na Grafika2d (= nazwa klasy nowego widoku). Wewnątrz funkcji onClick tego buttona dodajemy na końcu

1
2
3
4
5
6
7
8
                Intent oknoGry = new Intent(getApplicationContext(), Grafika2d.class);
                String message = radioJezykButton.getText().toString();
                //Przekazanie parametru do drugiego okna Activity:
                //tu mogą być pola tekstowe w układzie .putExtra("parametr", "wartosc");
                oknoGry.putExtra("jezyk", radioJezykButton.getText().toString());
                oknoGry.putExtra("instrument", radioInstrumentButton.getText().toString());
                oknoGry.putExtra("gryf", radioFretboardButton.getText().toString());
                startActivity(oknoGry);

Natomiast w klasie Grafika2d odczytujemy parametry wewnątrz funkcji onCreate:

1
2
3
4
5
6
7
8
9
10
11
12
13
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
      // to usuwamy:  setContentView(R.layout.activity_grafika2d);
        Intent oknoMenu = getIntent();
        Intent oknoMenu = getIntent();
        String message = "język: " + oknoMenu.getStringExtra("jezyk") + "; " +
                         "instrument: "+oknoMenu.getStringExtra("instrument") + "; " +
                         "gryf: "+oknoMenu.getStringExtra("gryf");
        TextView textView = new TextView(this);
        textView.setTextSize(20);
        textView.setText(message);
        setContentView(textView);
}

To wszystko. Widoki będą się przełączać.