|
Пример: Скачать среду можно с сайта для разработчиков Android (http://developer.android.com/sdk/index.html). Там скачать можно только Android Studio |
Опубликован: 10.04.2014 | Уровень: для всех | Доступ: платный | ВУЗ: Северный (Арктический) федеральный университет им. М.В. Ломоносова
Самостоятельная работа 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

