我在圖書館裏有一個活動,裏面有一個菜單。該菜單具有所有標準屬性以及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