libro
www.tuyano.com
Google androidプログラミング入門

設定画面を作る (2/6)

作成:2010-11-06 14:52
更新:2010-11-06 14:56

■オプションメニューから設定画面を開く

では、アクティビティクラスを作成しましょう。下に簡単なサンプルコードを掲載しておきます。一般に、設定画面というのはオプションメニューから呼び出しますので、ここでも同様にしてあります。

オプションメニューは、onCreateOptionsMenuメソッドをオーバーライドして実装します。ここでは、menu.add("Pref");で「Pref」というメニューを追加し、これにOnMenuItemClickListenerを組み込んでメニュー選択時の処理を実装しています。用意したonMenuItemClickメソッドでは、「openPref」というメソッドを呼び出すようにしてあります。これが、設定画面呼び出しの処理を行うものです。

設定画面は「MySamplePrefActivity」というクラスとして用意することにしてあります。この設定用アクティビティを起動するには、まず起動用のインテントを用意し、これを実行します。
Intent intent = new Intent(this, (Class<?>)MySamplePrefActivity.class);
startActivity(intent);
ここでは、new Intentでインテントをまず用意します。引数には、Context(ここではthis)と、起動するアクティビティのclassを渡します。これで、MySamplePrefActivityを起動するためのインテントが用意できます。

後は、「startActivity」でインテントを実行するだけです。これで、「Pref」メニューを選ぶとMySamplePrefActivityの設定画面のアクティビティが起動されます。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

package jp.tuyano.sample;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.*;
import android.view.MenuItem.OnMenuItemClickListener;
import android.widget.*;

public class MySample extends Activity {
	public TextView textview01;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        textview01 = (TextView)findViewById(R.id.TextView01);
    }

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		MenuItem pref_item = menu.add("Pref");
		OnMenuItemClickListener listener = new OnMenuItemClickListener() {
			public boolean onMenuItemClick(MenuItem item) {
				openPref();
				return false;
			}
		};
		pref_item.setOnMenuItemClickListener(listener);
		return true;
	}
	
	public void openPref(){
		Intent intent = new Intent(this, (Class<?>)MySamplePrefActivity.class);
		startActivity(intent);
	}

}

※関連コンテンツ

「Google androidプログラミング入門」に戻る