2011年5月27日金曜日

メニュー選択から設定画面へ

Android プロジェクトを作成する
プロジェクト名:MenuPreference
ビルドターゲット:Android 2.2
プロパティー
アプリケーション名:MenuPreference
パケージ名:com.menuPreference
Create Activity:MenuPreference
Min SDK Version:8

メニューボタンが押された時のメニューを作る
res フォルダの中にmenuフォルダを作成する。
menuフォルダを右クリックして、新規 から Android Xml File を選択する。
ファイル名:menu_list.xml
Item を追加する。
Id:@+id/item1
Title:設定
Visible:true
Enabled:true

MenuPreference.java にメニューボタンが押された時の動作を記入する。

MenuPreference.java のソース
package com.menuPreference;

import android.app.Activity;
import android.os.Bundle;

public class MenuPreference extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
    // オプションメニューの生成
    @Override
    public boolean onCreateOptionsMenu(android.view.Menu menu){
      super.onCreateOptionsMenu(menu);
      getMenuInflater().inflate(R.menu.menu_list,menu);
      return true;
     }
}
実行画面

設定をクリックしても何も起きません。

設定を押した時に表示する画面をxmlで作ります。
res フォルダの中にxmlフォルダを作成する。
menuフォルダを右クリックして、新規 から Android Xml File を選択する。
ファイル名:preference.xml
what type of resource would you like to create? でPreferenceを選択する。

preference.xmlを編集する 追加ボタンを押して PreferenceCategoryを追加する PreferenceCategory の中に CheckBoxPreference を追加する。


設定画面を表示するアクティビティを作る
/src/com.menuPreference を選択して右クリックして 新規からクラスを選択する。
ファイル名: MenuList.java

MenuList.java のソース
package com.menuPreference;

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class MenuList extends PreferenceActivity {
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preference);
    }

}

アクティビティを作成したら忘れないうちに
AndroidManifest.xmlに作成したアクティビティを追加する。 

AndroidManifest.xml を設定 にしたら
下のタブからアプリケーションを選択する。


追加されたActivity を選択してName* の参照をクリックする。

Activity を選択してOKをクリックする。

 作成したMenuList を選択してOKをクリックする

 MenuList が追加されました。


メニューボタンを押して表示されたメニューを選択した時の動作を設定する。
設定をタップしたら設定画面が表示されるようにする。
MenuPreference.java にソースを追加します。
MenuPreference.java のソース
package com.menuPreference;

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

public class MenuPreference extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    // オプションメニューの生成
    @Override
    public boolean onCreateOptionsMenu(android.view.Menu menu){
      super.onCreateOptionsMenu(menu);
      getMenuInflater().inflate(R.menu.menu_list,menu);
      return true;
     }
    
    //メニーを選択した時の動作
 public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
  case R.id.item1:
   Intent intent = new Intent();
   intent.setClassName(this, "com.menuPreference.MenuList");
   startActivity(intent);
   return true;
  default:
   break;
  }
        return false;
    }
}

動作確認

チェックボックスにチェックも入れられ、
うまく動いている様です。

ダウンロード

関連記事

0 件のコメント:

コメントを投稿