Android手机专门用一个按键“menu“来显示菜单。
要实现菜单功能,首先要通过方法onCreateOptionMenu来创建菜单,创建方法有两种:一种是直接导入有menu的xml文件,一种是用类Menu的方法直接添加。创建好菜单后,用事件监听器onOptionItemSelected对能够触发的事件进行监听。
下面这个例子有两个Activity,分别有上面的两种方法实现menu,每个menu里都有事件监听器进行Activity跳转和退出。
1.资源文件下的menu文件res/menu/menu.xml
代码如下 | 复制代码 |
<itemandroid:id="@+id/about" android:title="关于"/> <itemandroid:id="@+id/exit" android:title="退出"/> |
Activity01.Java
代码如下 | 复制代码 |
packagecom.yarin.android.Examples_04_13; importandroid.app.Activity; importandroid.content.Intent; importandroid.os.Bundle; importandroid.view.Menu; importandroid.view.MenuInflater; importandroid.view.MenuItem; publicclassActivity01extendsActivity { /** Called when the activity is first created. */ @Override publicvoidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } /*创建menu*/ public boolean onCreateOptionsMenu(Menu menu) { //MenuInflater class is used to instantiate menu XML files into Menu objects MenuInflater inflater = getMenuInflater(); //设置menu界面为res/menu/menu.xml inflater.inflate(R.menu.menu, menu); return true; } /*处理菜单事件*/ public boolean onOptionsItemSelected(MenuItem item) { //得到当前选中的MenuItem的ID, int item_id = item.getItemId(); switch (item_id) { case R.id.about: /* 新建一个Intent对象 */ Intent intent = new Intent(); /* 指定intent要启动的类 */ intent.setClass(Activity01.this, Activity02.class); /* 启动一个新的Activity */ startActivity(intent); /* 关闭当前的Activity */ Activity01.this.finish(); break; caseR.id.exit: Activity01.this.finish(); break; } returntrue; } } |
Activity02.java
代码如下 | 复制代码 |
packagecom.yarin.android.Examples_04_13; importandroid.app.Activity; importandroid.content.Intent; importandroid.os.Bundle; importandroid.view.Menu; importandroid.view.MenuItem; publicclassActivity02extendsActivity { publicvoidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* 设置显示main2.xml布局 */ setContentView(R.layout.main2); } /*创建menu*/ public boolean onCreateOptionsMenu(Menu menu) { //为menu添加内容 menu.add(0, 0, 0, R.string.ok); menu.add(0, 1, 1, R.string.back); return true; } /*处理menu的事件*/ public boolean onOptionsItemSelected(MenuItem item) { //得到当前选中的MenuItem的ID, int item_id = item.getItemId(); switch (item_id) { case 0: case 1: /* 新建一个Intent对象 */ Intent intent = new Intent(); /* 指定intent要启动的类 */ intent.setClass(Activity02.this, Activity01.class); /* 启动一个新的Activity */ startActivity(intent); /* 关闭当前的Activity */ Activity02.this.finish(); break; } returntrue; } } |
本例用到了两个Activity,不要忘记在AndroidManifest.xml中声明。
安卓手机是现在很多人都在使用的手机,安卓手机的内存是很多人比较关心的。这次文章就给大家介绍下安卓手机内存怎么增加,希望对大家有所帮助。安装一个腾讯电脑管家,或其它你认为不错的安全软件。下载安装完成并且打开管家首页。在手机管家首页界面下滑,找到垃圾清理项。如下图,“清理益起来”就是该版本软件的垃圾清理。扫描垃圾,可能需要花一定的时间,要耐心等待。扫描完成点击立即清理即可完成清理。 安卓手机怎么增加内存
对于一些大文件或软件,可以右上角的手机瘦身进行手动清理。选中不需要的大文件和软件删除,就能省下很多内存。另外注意一下,不要随便现在不常用的文件和软件,因为这不仅会占用空间,还会影响手机系统运行速度。 安卓手机怎么增加内存
本文介绍了Android Caused by: java.lang.ClassNotFoundException解决办法,非常实用,有兴趣的同学可以此案考一下Android Caused by: java.lang.ClassNotFoundException解决办法
出现问题:
08-13 18:29:22.924: E/AndroidRuntime(1875): Caused by: Java.lang.ClassNotFoundException:XXXXX in loader dalvik.system.PathClassLoader[/data/app/XXXX.apk]
我想大家经常因为疏忽出现ClassNotFoundException的异常,这个异常在Android开发中无非就是告诉你类没有找到,那么什么原因导致没找到呢?
其实一般分为2种情况:
1、启动activity的时候,在AndroidManifest.xml 可能压根你就忘了添加一个activity,或者说activity的包名或者名字写错了,这个犯错几率很高的
2、你的使用的class,是一个外部的JAR包,当在工程中编译使用时,发布成APK并没有包含JAR文件,所以APK在执行的时候就找不到JAR文件,会报错。
所以一定在“Order and Export”里,勾选使用的jar包。切记!