Android之弹出菜单框【注冊上下文菜单】

2023-07-22

注冊上下文菜单:(长按弹出一个菜单)

第一种创建方法(与长按事件结合):

public class MainActivity extends Activity {

private TextView username,password;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

username = (TextView) findViewById(R.id.username);

password = (TextView) findViewById(R.id.password);

username.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

@Override

public void onCreateContextMenu(ContextMenu menu, View v,

ContextMenuInfo menuInfo) {

// TODO Auto-generated method stub

menu.add("file");

menu.add("edit");

menu.add("source");

}

});

}

@Override

public boolean onContextItemSelected(MenuItem item) {

// TODO Auto-generated method stub

//当菜单上下文元素被选中时运行

Toast.makeText(this, item.getTitle()+"onContextItemSelected", 1).show();

return super.onContextItemSelected(item);

}

@Override

public boolean onMenuItemSelected(int featureId, MenuItem item) {

// TODO Auto-generated method stub

//菜单元素被选中时运行

Toast.makeText(this, item.getTitle()+"onMenuItemSelected", 1).show();

return super.onMenuItemSelected(featureId, item);

}

}

另外一种方法:

(注冊上下文菜单)

public class MainActivity extends Activity {

private TextView username,password;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

username = (TextView) findViewById(R.id.username);

password = (TextView) findViewById(R.id.password);

this.registerForContextMenu(username);//注冊菜单

}

@Override

public void onCreateContextMenu(ContextMenu menu, View v,

ContextMenuInfo menuInfo) {

// TODO Auto-generated method stub

menu.add("file");

menu.add("edit");

super.onCreateContextMenu(menu, v, menuInfo);

}

@Override

public boolean onContextItemSelected(MenuItem item) {

// TODO Auto-generated method stub

//当菜单上下文元素被选中时运行

Toast.makeText(this, item.getTitle()+"onContextItemSelected", 1).show();

return super.onContextItemSelected(item);

}

@Override

public boolean onMenuItemSelected(int featureId, MenuItem item) {

// TODO Auto-generated method stub

//菜单元素被选中时运行

Toast.makeText(this, item.getTitle()+"onMenuItemSelected", 1).show();

return super.onMenuItemSelected(featureId, item);

}

}

Android之弹出菜单框【注冊上下文菜单】的相关教程结束。