2014-10-10 2 views
-1

메인 프래그먼트 클래스의 백 버튼으로 조작하고 싶습니다. 조각의 도움으로 스 와이프 탭을 사용하고 있습니다. 그래서 액티비티 클래스에서 나는 뒤로 버튼의 기능을 안다. 그러나 이것은 나에게 도움이되지 않습니다. 이것은 내 코드입니다. 이미 액션 바 홈 기능을 다 했어. 그래서 내가 다시 키를 조각으로 눌렀을 때 당신이 opration을 수행 할 생각어떻게 파편에있는 뒤로 버튼 작업. 하드웨어 하드웨어의 백 버튼을 부탁합니다

   public class MainActivity extends FragmentActivity implements 
    ActionBar.TabListener { 

private ViewPager viewPager; 
private TabsPagerAdapter mAdapter; 
private ActionBar actionBar; 
// Tab titles 
private String[] tabs = { "Metals","Forex" }; 
static int i = 0; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // Initilization 
    viewPager = (ViewPager) findViewById(R.id.pager); 
    actionBar = getActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
    i=0; 
    mAdapter = new TabsPagerAdapter(getSupportFragmentManager()); 

       viewPager.setAdapter(mAdapter); 
      //  actionBar.setHomeButtonEnabled(true); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);   

    // Adding Tabs 
    for (String tab_name : tabs) { 
     actionBar.addTab(actionBar.newTab().setText(tab_name) 
       .setTabListener(this)); 
    } 

    /** 
    * on swiping the viewpager make respective tab selected 
    * */ 
    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { 

     @Override 
     public void onPageSelected(int position) { 
      // on changing the page 
      // make respected tab selected 
      actionBar.setSelectedNavigationItem(position); 
     } 

     @Override 
     public void onPageScrolled(int arg0, float arg1, int arg2) { 
     } 

     @Override 
     public void onPageScrollStateChanged(int arg0) { 
     } 
    }); 
} 

@Override 
public void onTabReselected(Tab tab, FragmentTransaction ft) { 
} 

@Override 
public void onTabSelected(Tab tab, FragmentTransaction ft) { 
    // on tab selected 
    // show respected fragment view 
    viewPager.setCurrentItem(tab.getPosition()); 
} 

@Override 
public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
} 


@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 

    case android.R.id.home: 
     Log.d("back", "backkk"); 
     i = 1; 
     Toast.makeText(getApplicationContext(), "back"+i,100).show(); 
     onBackPressed(); 
     return true; 

    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 
+0

요 전화 onBackkeypressed u 그냥 뒤로 버튼을 무시하고 당신이 원하는 것을 추가 할 수 있습니다 ... – Umair

답변

1

뒤로 버튼과 동일하고 싶은

그래서 조각

및 조각 활동으로부터 공개 방법을 만들기 클래스, 재정의 예를

그 방법

@Override 
public void onBackPressed() { 
    DetailFragment fragment = (DetailFragment) getFragmentManager() 
      .findFragmentById(R.id.listfragment); 
    fragment.doSomthing() 

} 
+0

내가 자세히 설명해 줄 수 있습니다. 나는 조각에 어떤 것도 몰랐다. 그래서 그것을 무시하는 법을 가르쳐주세요. – user3725606

+0

당신은 Fragment 클래스를 만들었습니까? @ user3725606 – Nooh

+0

예 .. 저는 전체 클래스를 게시합니다. FragmentActivity 클래스에서 스 와이프 탭보기 – user3725606