@Overrideこれがそのメソッドです。引数には、「メニュー」ボタンで表示されるメニューとなる「Menu」クラスのインスタンスが渡されます。このMenuに、「MenuItem」というメニュー項目のインスタンスを作成して組み込むことで、メニューを作成していくことができます。
public boolean onCreateOptionsMenu(Menu menu) {
……ここにメニュー作成処理を用意する……
}
MenuItem 変数 = [Menu].add( 項目名 );メニュー項目は、Menuの「add」メソッドで作成します。これは、そのMenuに新しいメニュー項目を追加するためのもので、引数には項目に表示されるテキストを指定します。
[MenuItem].setOnMenuItemClickListener( [OnMenuItemClickListener] );メニューをクリックした時の処理は、「setOnMenuItemClickListener」メソッドでイベントリスナーを設定して行います。引数には、OnMenuItemClickListenerインスタンスを用意します。
new OnMenuItemClickListener(){
public boolean onMenuItemClick(MenuItem item){
……メニュー項目を選んだ時の処理……
}
}これが、OnMenuItemClickListenerの内容です。onMenuItemClickというメソッドを1つもっており、メニューを選択するとこれが呼び出されます。引数には、イベントが発生したMenuItemインスタンスが渡されます。※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
package jp.tuyano;
import android.app.*;
import android.os.Bundle;
import android.view.*;
import android.view.MenuItem.OnMenuItemClickListener;
import android.widget.*;
public class SampleApp extends Activity {
private Activity me;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
me = this;
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuItem item1 = menu.add("Toast");
MenuItem item2 = menu.add("Alert");
OnMenuItemClickListener listener1 = new OnMenuItemClickListener(){
public boolean onMenuItemClick(MenuItem item){
Toast toast = Toast.makeText(me,"トーストです。",Toast.LENGTH_LONG);
toast.show();
return false;
}
};
OnMenuItemClickListener listener2 = new OnMenuItemClickListener(){
public boolean onMenuItemClick(MenuItem item){
AlertDialog.Builder builder = new AlertDialog.Builder(me);
builder.setMessage("アラートだよ。");
builder.show();
return false;
}
};
item1.setOnMenuItemClickListener(listener1);
item2.setOnMenuItemClickListener(listener2);
return true;
}
}
| << 前へ | 次へ >> |