Button实现活动跳转
Button btn = findViewById(R.id.btn1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(MainActivity.this, TextViewActivity.class);
startActivity(i);
}
});
在活动中使用Toast
Button toast = findViewById(R.id.btn2);
toast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "测试...", Toast.LENGTH_SHORT).show();
}
});
Toast的用法非常简单,通过静态方法makeText() 创建出一个Toast 对象,然后调用show() 将Toast显示出来就可以了。makeText() 方法需要传入3个参数。第一个参数是Context ,也就是Toast要求的上下文,由于活动本身就是一个Context 对象,因此这里直接传入MainActivity.this 即可。第二个参数是Toast显示的文本内容,第三个参数是Toast显示的时长,有两个内置常量可以选择Toast.LENGTH_SHORT 和Toast.LENGTH_LONG 。
在活动中使用Menu
- res→New→Directory,首先在res目录下新建一个menu文件夹。接着在这个文件夹下再新建一个名叫main的菜单文件,menu→New→Menu resource file。然后在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标签就是用来创建具体的某一个菜单项,然后通过android:id给这个菜单项指定一个唯一的标识符,通过android:title 给这个菜单项指定一个名称。
- 重写onCreateOptionsMenu() 方法:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
通过getMenuInflater() 方法能够得到MenuInflater 对象,再调用它的inflate() 方法就可以给当前活动创建菜单了。inflate() 方法接收两个参数,第一个参数用于指定我们通过哪一个资源文件来创建菜单,这里当然传入R.menu.main 。第二个参数用于指定我们的菜单项将添加到哪一个Menu 对象当中,这里直接使用onCreateOptionsMenu() 方法中传入的menu 参数。然后给这个方法返回true ,表示允许创建的菜单显示出来,如果返回了false ,创建的菜单将无法显示。
- 重写onOptionsItemSelected() 方法
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.add_item:
Toast.makeText(MainActivity.this, "click add_item", Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(MainActivity.this, "click remove_item", Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}