我如何在片段中的后退按钮上操作。请求手机硬件后退按钮

问题描述:

我想操作主分片类中的后退按钮。我在片段的帮助下使用滑动选项卡。所以在par活动类我知道后退按钮的功能。但这不是我的帮助。这是我的代码。我已经完成了操作栏主页功能。所以我想要做的一样后退按钮我如何在片段中的后退按钮上操作。请求手机硬件后退按钮

   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

哟你只需要覆盖后退按钮,然后你可以添加任何你想要的... – Umair 2014-10-10 06:28:55

我想你想执行调度研究时,返回键在片段被按下

所以创建片段

和片段活动的公共方法类,重写onBackkeypressed调用该方法

例如

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

} 
+0

你能详细解释我吗?我根本不知道任何事情。所以请告诉我如何覆盖它。 – user3725606 2014-10-10 10:24:47

+0

你是否创建了一个片段类?@ user3725606 – Nooh 2014-10-10 10:26:34

+0

是的..我发布我的全班。我创建滑动选项卡视图 – user3725606 2014-10-10 10:35:31