2012-10-02 2 views
14

나는 ViewPager이고 Fragment s입니다. Fragment에서 버튼을 클릭하면 광산에서 Activity을 실행합니다. Activity에있을 때 휴대 전화의 뒤로 버튼을 누르면 이전 화면, 즉 Fragment이있는 화면이 다시 ViewPager에 표시됩니다.ActionBar의 "위로"버튼이 휴대폰의 "뒤로"버튼처럼 작동하게하려면 어떻게해야합니까?

내가 그렇게 내 ActionBar에서 버튼을 "최대"를 위해를 사용하려는, 나는 다음과 같은 코드를 작성했습니다 : 이제

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.detail); 

    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
} 

를 버튼이 표시됩니다 "최대"하지만, 그것을 클릭해도 이전 화면으로 돌아 가지 않습니다. "위로"버튼을 "뒤로"버튼과 같은 것으로 사용하고 싶습니다.

어떻게하면됩니까? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

감사합니다.

+1

당신은 백 버튼으로 위쪽 버튼을 사용할 수 없습니다. 위로 버튼의 목적은 올라가고 뒤로 올라가지 않는 것입니다. 필요에 따라 사용하는 것이 좋습니다. http://developer.android.com/guide/topics/ui/actionbar.html#Up –

답변

48

당신은 위쪽 버튼을 클릭했을 때의 대처 방법을 구현하는 것이 필요

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case android.R.id.home: 
      onBackPressed(); 
      return true; 
     } 

    return super.onOptionsItemSelected(item); 
} 
+2

이것이 내가 가진 문제입니다. 자동으로 버튼이 연결될 것으로 예상했지만 클릭하면 아무 일도 없었습니다. 위의 코드로 onOptionItemSelected()를 재정의 한 후에는 챔피언처럼 작동했습니다. 감사! – proudgeekdad

관련 문제