Androidのアクティビティ – ある画面から別の画面へ
Androidでは、アクティビティは1つの画面を表します。ほとんどのアプリケーションには、アプリケーション設定の一覧を表示する1つのアクティビティ、アプリケーションのステータスを表示する別のアクティビティなど、さまざまな画面を表す複数のアクティビティがあります。
このチュートリアルでは、アクティビティと対話する方法、ボタンをクリックしたときに現在の画面(現在のアクティビティ)から別の画面(別のアクティビティ)に移動する方法について説明します。
P.SこのプロジェクトはEclipse 3.7で開発され、Android 2.3.3.
でテストされています
1. XMLレイアウト
“res/layout/”フォルダに次の2つのXMLレイアウトファイルを作成します。
-
res/layout/main.xml
– 画面1を表現する -
res/layout/main2.xml
– 画面2を表現する
ファイル:res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout__width="fill__parent"
android:layout__height="fill__parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout__width="wrap__content"
android:layout__height="wrap__content"
android:text="I'm screen 1 (main.xml)"
android:textAppearance="?android:attr/textAppearanceLarge"/>
<Button
android:id="@+id/button1"
android:layout__width="fill__parent"
android:layout__height="wrap__content"
android:text="Click me to another screen"/>
</LinearLayout>
File:res/layout/main2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout__width="fill__parent"
android:layout__height="fill__parent" >
<TextView
android:id="@+id/textView1"
android:layout__width="wrap__content"
android:layout__height="wrap__content"
android:text="I'm screen 2 (main2.xml)"
android:textAppearance="?android:attr/textAppearanceLarge"/>
</LinearLayout>
2.活動
2つのアクティビティクラスを作成します。
-
AppActivity.java – > main.xml
-
App2Activity.java – > main2.xml
ある画面から別の画面に移動するには、次のコードを使用します。
Intent intent = new Intent(context, anotherActivity.class);
startActivity(intent);
File:AppActivity.java
package com.mkyong.android;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
public class AppActivity extends Activity {
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addListenerOnButton();
}
public void addListenerOnButton() {
final Context context = this;
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, App2Activity.class);
startActivity(intent);
}
});
}
}
File:App2Activity.java
package com.mkyong.android;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
public class App2Activity extends Activity {
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
}
}
3. AndroidManifest.xml
`AndroidManifest.xml`で2つ以上のアクティビティクラスを宣言します。
File:AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mkyong.android"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10"/>
<application
android:icon="@drawable/ic__launcher"
android:label="@string/app__name" >
<activity
android:label="@string/app__name"
android:name=".AppActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:label="@string/app__name"
android:name=".App2Activity" >
</activity>
</application>
</manifest>
4.デモ
アプリケーションを実行します。
AppActivity.java
(main.xml)画面が表示されます。

上記のボタンをクリックすると、別の画面
App2Activity.java
(main2.xml)にナビゲートします。

ソースコードをダウンロードする
それをダウンロードする –
Android-From-Screen-To-Screen-Acticity-Example.zip
( 16 KB)
参考文献
活動例]
リンク://タグ/アンドロイド/[アンドロイド]リンク://タグ/アンドロイド – アクティビティ/[アンドロイド
アクティビティ]