Пример: Скачать среду можно с сайта для разработчиков Android (http://developer.android.com/sdk/index.html). Там скачать можно только Android Studio |
Северный (Арктический) федеральный университет им. М.В. Ломоносова
Опубликован: 10.04.2014 | Доступ: свободный | Студентов: 6851 / 1253 | Длительность: 14:18:00
Специальности: Программист
Самостоятельная работа 4:
Создание многоэкранного приложения
6. Теперь осталось добавить всплывающее окно Toast, которое будет показывать, какой элемент мы выбрали. Этот виджет можно импортировать так же, как и предыдущие. Нам потребуется метод makeText(), у которого есть три параметра: контекст приложения, текстовое сообщение и продолжительность времени показа уведомления.
Toast.makeText(getApplicationContext(), "Вы выбрали " + parent.getItemAtPosition(position).toString(),Toast.LENGTH_SHORT).show();
Полные листинги файлов проекта, в которых были сделаны изменения, см. ниже.
package com.mypackage.multiscreen; import android.os.Bundle; import android.view.View; import android.app.ListActivity; import android.content.Intent; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.Toast; public class MultiScreenMainActivity extends ListActivity{ String[] islands = { "Канары", "Курилы", "Мальдивы", "Филиппины"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, islands); setListAdapter(adapter); OnItemClickListener itemListener = new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, int position, long id) { switch (position) { case 0: Intent intent = new Intent(MultiScreenMainActivity.this, Canari.class); startActivity(intent); break; case 1: Intent intent1 = new Intent(MultiScreenMainActivity.this, Curili.class); startActivity(intent1); break; case 2: Intent intent2 = new Intent(MultiScreenMainActivity.this, Maldivi.class); startActivity(intent2); break; case 3: Intent intent3 = new Intent(MultiScreenMainActivity.this, Philippini.class); startActivity(intent3); break; } Toast.makeText(getApplicationContext(), "Вы выбрали " + parent.getItemAtPosition(position).toString(), Toast.LENGTH_SHORT).show(); } }; getListView().setOnItemClickListener(itemListener); } }Листинг 8.1. Файл MultiScreenMainActivity.java
package com.mypackage.multiscreen; import android.app.Activity; import android.os.Bundle; public class Canari extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.canari); } }Листинг 8.2. Файл Canari.java
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/RelativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dip" > <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="186dp" android:src="@drawable/canari" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="80dp" android:text="@string/enjoy" android:textAppearance="?android:attr/textAppearanceLarge" /> </RelativeLayout>Листинг 8.3. Файл canari.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Куда бы поехать в отпуск?</string> <string name="action_settings">Settings</string> <string name="enjoy">Enjoy yourself!</string> <string name="can">Канары</string> <string name="phil">Филиппины</string> <string name="cur">Курилы</string> <string name="mal">Мальдивы</string> </resources>Листинг 8.4. Файл strings.xml