라이브러리에 메뉴가있는 활동이 있습니다. 이 메뉴에는 모든 표준 속성뿐만 아니라 onCreateOptionsMenu 및 onOptionsItemSelected의 @Override가 있습니다.재정의 재정의?
위의 라이브러리를 가져 오는 실제 프로젝트에서 나는 활동을 확장하는 다른 활동이 있습니다. 이 프로그램의 특정 구현을 위해이 액티비티에 다른 메뉴를 갖고 싶기 때문에이 액티비티 코드베이스 안에 적절한 @Override를 추가하여 onCreateOptionsMenu와 onOptionsItemSelected를 추가 할 수 있습니다. 그러나 라이브러리의 메뉴가 라이브러리의 오버라이드가 아니라 라이브러리에서 가져옵니다.
내가 잘못 할 수 있습니까?
기본 클래스 :
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를 호출하는 것을 었죠
결론 이것은 확장 된 수업이 아닌 도서관에서의 활동을 언급하고있었습니다.
모든 확장 활동 유형에 대해 의도를 추가하고이를 호출하여 기본 활동보다는 확장 된 활동을 불러옵니다.
도움 주셔서 감사합니다.
코드를 표시하지 않으면 어떻게 알 수 있습니까? –
더 많은 코드와 코드를 호출해야합니다. – Woot4Moo
메뉴, 메뉴 버튼을 누르겠습니다 –