Wiele aktywności i intencji
115
jesteś tutaj
Zmień kod, aby wyświetlać okno dialogowe
Zmienimy teraz kod naszej aktywności w taki sposób, by po każdym kliknięciu
przycisku
Wyślij wiadomość użytkownik był proszony o wybór aktywności,
której chce użyć do wysłania wiadomości. W tym celu dodamy do pliku
strings.xml zasób łańcuchowy, który będzie używany jako tytuł okna do wyboru
aktywności, a następnie zmodyfikujemy kod metody
onSendMessage()
w pliku
CreateMessageActivity.java, tak by wywoływała ona metodę
createChooser()
.
Zaktualizuj plik strings.xml…
Chcemy, by okno dialogowe do wyboru aktywności miało tytuł Wysyłanie
wiadomości…
, a zatem do pliku strings.xml dodaj zasób łańcuchowy o nazwie
chooser
i wartości
Wysyłanie wiadomości...
(nie zapomnij także
o zapisaniu zmienionego pliku).
...
<string name=”chooser”>Wysyłanie wiadomości...</string>
...
…a następnie kod metody onSendMessage()
Musimy zmienić kod metody
onSendMessage()
w taki sposób, by pobierała
z pliku
strings.xml zasób określający tytuł okna dialogowego, wywoływała
metodę
createChooser()
, a następnie uruchamiała wybraną aktywność.
A zatem zmodyfikuj kod aktywności w następujący sposób:
...
// Metoda onSendMessage() jest wywoływana po kliknięciu przycisku
public void onSendMessage(View view) {
EditText messageView = (EditText)findViewById(R.id.message);
String messageText = messageView.getText().toString();
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType(”text/plain”);
intent.putExtra(Intent.EXTRA_TEXT, messageText);
String chooserTitle = getString(R.string.chooser);
Intent chosenIntent = Intent.createChooser(intent, chooserTitle);
startActivity(intent);
startActivity(chosenIntent);
}
...
Metoda
getString()
służy do pobierania wartości zasobów łańcuchowych.
Ma ona jeden parametr określający identyfikator zasobu (w naszym przypadku
jest to
R.string.chooser
):
getString(R.string.chooser);
Pobranie tytułu okna.
Wyświetlenie okna dialogowego
wyboru aktywności.
Uruchomienie aktywności
wybranej przez użytkownika.
Jeśli zajrzysz do pliku R.java, znajdziesz
chooser w klasie wewnętrznej o nazwie string.
Teraz, kiedy już zaktualizowaliśmy aplikację, zobaczmy, jak w działaniu wygląda nasze
nowe okno dialogowe wyboru aktywności.
<xml>
</xml>
app/src/main
strings.xml
Komunikator
res
values
app/src/main
CreateMessage
Activity.java
Komunikator
java
com.hfad.komunikator
¨
Określenie akcji
¨
Zapewnienie możliwości wyboru
Ten tekst będzie wyświetlany w oknie do wyboru aktywności.
Usuń ten
wiersz kodu.

Get Android Programowanie aplikacji. Rusz głową! Wydanie II now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.