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)
参考文献
活動例]
リンク://タグ/アンドロイド/[アンドロイド]リンク://タグ/アンドロイド – アクティビティ/[アンドロイド
アクティビティ]