package jp.mixi.sample.res.menu;
import android.os.Bundle;
import android.app.Activity;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart() {
super.onStart();
View helloWorld = findViewById(R.id.HelloWorld);
// 長押しメニューを View に登録する
// 内部では、Activity の参照を View に渡しているので、Activity を破棄する前(GCの前)に、長押しメニューを解除しておくこと
registerForContextMenu(helloWorld);
}
@Override
protected void onStop() {
View helloWorld = findViewById(R.id.HelloWorld);
// 登録していた長押しメニューを解除する
// 解除し忘れるとメモリリークの原因となる
unregisterForContextMenu(helloWorld);
super.onStop();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// OptionsMenu として、Menu Resource を読み出す。
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
// ContextMenu として、Menu Resource を読み出す。
super.onCreateContextMenu(menu, v, menuInfo);
getMenuInflater().inflate(R.menu.main, menu);
}
}