我有2 xml一个主xml和一个菜单xml。我想从菜单xml到主xml活动获取click事件。有没有办法解决这个问题。
主页
现在点击我主要的主页活动页面中的菜单页面按钮事件。
我这样做了
View otherLayout = LayoutInflater.from(this).inflate(R.layout.menu_layout,null);
Button tstclick = (Button) otherLayout.findViewById(R.id.textclick);
tstclick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Your thing
System.exit(0);
}
});
答案 0 :(得分:0)
Activity
类为我们提供了两种方法来充气/显示菜单项并使用它们或为它们分配一些任务。他们是:
onCreateOptionsMenu()
方法负责通过MenuInflater
类的帮助创建和扩充菜单。
onOptionsItemSelected()
方法负责为每个菜单项分配任务。每个菜单项都通过其唯一ID来识别。
为了在任何Activity中显示和使用菜单,两个方法都需要被覆盖,如下所示:
public class MainActivity extends AppCompatActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
// All your menu items will come here. Each menu item ID will become a separate case in the Switch case
default:
return super.onOptionsItemSelected(menuItem);
}
}
}
只要用户点击或点击任何菜单项,Android操作系统就会调用onOptionsItemSelected()
方法,然后该方法将匹配该特定菜单项的ID。然后将执行相应案例中指定的一组陈述。
有关详细信息,请访问以下链接:
http://developer.android.com/guide/topics/ui/menus.html
http://developer.android.com/reference/android/view/MenuInflater.html