这是我参与「第四届青训营 」笔记创作活动的第2天
(5)在活动中使用Menu
在res文件夹线新建一个名为menu的文件夹,然后再menu文件夹右键->new->menu resource file->设定名字为main,在main.xml中添加代码之后如下所示:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id = "@+id/add_item"
android:title = "Add"/>
<item
android:id = "@+id/remove_item"
android:title = "Remove"/>
</menu>
其中item标签就是用来创建具体的某一个菜单项,然后再转回FirstActivity中,为活动创建一个menu,代码如下:
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button button1 = (Button)findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(FirstActivity.this, "You clicked Button 1",Toast.LENGTH_SHORT).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main , menu);
return true;
}
}
其中inflate传入的两个参数分别是:第一个参数指出我们通过那个资源文件来创建菜单,第二个参数指定我们的菜单项将添加到那一个Menu中。 此时运行程序,会发现界面右上角出现了三个点,点击之后会出现菜单,有两个选项Add,remove。点击之后不会有任何反应。这种menu好处在于节省了手机有限的面积。 如此我们就定义好了菜单, 接下来定义菜单响应事件。 重写OnOptionItemSelected方法。
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch(item.getItemId()){
case R.id.add_item:
Toast.makeText(this,"You Clicked Add",Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this,"You Clicked Remove",Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
在此运行程序,点击add或者remove后会出现消息,显示你点击了add或者是remove。
(6)销毁一个活动
方法一: 在手机中点击back键。 方法二: Activity类中提供了一个finish()方法,在活动中调用一下这个方法就可以销毁当前的活动了。 例如修改按钮监听器中的代码,如下所示: