我在图书馆里有一个活动,里面有一个菜单。该菜单具有所有标准属性以及onCreateOptionsMenu和onOptionsItemSelected上的@Override。覆盖覆盖?
在我上面导入库的实际项目中,我有另一个活动延伸到上面的活动。对于这个程序的这个特定的实现,我想在这个活动上有一个不同的菜单,所以在这个活动代码库中添加onCreateOptionsMenu和onOptionsItemSelected以及合适的@Override,但是我从库中获得菜单,而不是库中的覆盖。
我会做什么错?
基类:
public class ListItems extends ListActivity {
public static final int LOGOUT = 0;
public static final int HISTORY = 1;
public static final int REFRESH = 2;
@Override
public boolean onCreateOptionsMenu(Menu menu){
menu.add(0, LOGOUT ,0,"Log Out");
menu.add(0,HISTORY,0,"Order History");
menu.add(0,REFRESH,0,"SMS");
return true;
}
@Override
public boolean onOptionsItemSelected (MenuItem item){
TextView textView = (TextView)findViewById(com.imobileminutes.library.R.id.text);
switch (item.getItemId()){
case LOGOUT:
Intent logOut = new Intent(ListItems.this,MainScreen.class);
startActivity(logOut);
finish();
return true;
case HISTORY:
Intent orderHistory = new Intent(this,OrderItems.class);
startActivity(orderHistory);
return true;
case REFRESH:
Intent orderHistory = new Intent(this,OrderItems.class);
startActivity(orderHistory);
return true;
}
return false;
}
}
覆盖类
public class ListItems extends com.imobileminutes.library.ListItems {
static final int SMS = 2;
@Override
public boolean onCreateOptionsMenu(Menu menu){
Log.d("onCreateOptionsMenu", "My onCreateOptionsMenu ran");
Toast.makeText(getApplicationContext(), "HEllo Menu Created", Toast.LENGTH_LONG).show();
super.onCreateOptionsMenu(menu);
return true;
}
@Override
public boolean onOptionsItemSelected (MenuItem item){
Log.d("onCreateOptionsMenu", "My onOptionsItemSelected ran");
Toast.makeText(getApplicationContext(), "HElloonOptionsItemSelected", Toast.LENGTH_LONG).show();
super.onOptionsItemSelected(item);
return false;
}
}
结论 它结束了,我的库调用ListItems.this和的createAccount这是指图书馆中不在扩展类中的活动。
我为每个扩展活动类型添加了一个意图,并且nwo调用它,从而引发扩展活动而不是基本活动。
感谢您的帮助球员。
如何知道您是否不向我们展示您的代码? – 2011-06-10 19:40:47
仍然需要查看更多代码以及如何调用它。 – Woot4Moo 2011-06-10 20:09:52
它的一个菜单,我按菜单按钮 – 2011-06-10 20:12:56