我有一个基本的项目和问题。我的启动代码是MainActivity.java,属于它的菜单是 res / menu / main.xml 。以下是它的内容:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_add"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/menu_add_planet"/>
<item
android:id="@+id/menu_config"
android:orderInCategory="105"
android:showAsAction="never"
android:title="@string/menu_config_planet"/>
当用户点击(或点击)菜单上的添加星球选项时,我希望该类被激活。该类是 NewPlanet.java 这是它的内容:
import android.app.Activity;
导入android.os.Bundle;
公共类NewPlanet扩展了Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add);
}
}
我预计 res / menu / main.xml 中的item元素和newPlanet之间必然存在绑定但是如何? 提前谢谢。
答案 0 :(得分:1)
在您的活动中,用户将点击add planet
选项,其中包含以下内容:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Intent intent;
switch(item.getItemId()) {
case R.id.menu_add:
intent = new Intent(this, NewPlanet.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
this.startActivity(intent);
break;
}
return true;
}
确保您拥有Action bar
。您可以getActionBar().show();
中的onCreate()
来展示它。还要确保您没有同时拥有标题栏和操作栏。