2014-04-21 3 views
0

내 응용 프로그램에 메뉴가 있습니다. 문제는 내가 항목을 클릭하면 이전 항목이 남아 있다는 것입니다. 이전 휴대 전화의 버튼을 클릭하면 이전 활동이 나타납니다. 내 코드에 어떤 문제가 있는지 알 수 없다.Android 메뉴 - 클릭 할 때마다 계속 행동합니다.

그래서이 내 메뉴에 대한 코드입니다 : 나는 당신이 이해를 바랍니다

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 

    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    switch (item.getItemId()) { 
     case R.id.action_user: 
      Intent intent1 = new Intent(TeamActivity.this, UserActivity.class); 
      startActivity(intent1); 
      return true; 
     case R.id.action_team: 
      return true; 
     case R.id.action_score: 
      Intent intent2 = new Intent(TeamActivity.this, ScoreActivity.class); 
      startActivity(intent2); 
      return true; 
     case R.id.action_settings: 
      Intent intent3 = new Intent(TeamActivity.this, SettingsActivity.class); 
      startActivity(intent3); 
      return true; 
     case R.id.action_about: 
      Intent intent4 = new Intent(TeamActivity.this, AboutActivity.class); 
      startActivity(intent4); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

, 내 나쁜 영어

+0

Android OS는 내부적으로 일련의 활동을 유지 관리합니다. 귀하의 요구 사항은 무엇입니까? 이전 활동이 기자 회견 행사에 출연하는 것을 원하지 않습니까? –

+0

IMHO, 어떻게 작동해야하는지. 백 스택에서 현재 활동이 필요하지 않은 경우 CarbonAssassin이 말한 바를 수행하십시오. 통화 종료 (call finish) : 현재 활동을 백 스택에서 제거하지만 더 이상 해당 활동으로 돌아갈 수 없습니다. – IuriiO

+0

답변 해 주셔서 감사합니다. Item을 클릭하면 애니메이션이 완전히 정상적으로 나타 납니까? 나는 스택이 매우 중요 할 수 있기 때문에 그것이 비정상적인 것이라고 생각했습니다 ... –

답변

0

단순히 this.finish를 추가() 죄송합니다; true를 반환하기 전에 각 startActivity() 후에!

+0

저를 도와 주셔서 감사합니다. –