2015-08-19 24 views
0

在我的片段活動使用webview.when我點擊webview上的超鏈接其重定向到指定的網址它罰款。但問題是當我點擊回它被重定向到主頁片段,而不是前頁面頁面。任何人都可以幫助我如何重定向到webview上的上一頁。下面是我在mainactivity中的代碼,我正在處理片段onback新聞事件。如何在android中的片段的webview中處理onback

private void selectItem(int position) { 

    FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
    // Locate Position 
    Fragment fragment = null; 
    switch (position) { 
    case 0: 
     //ft.replace(R.id.content_frame, frag,"home"); 
     fragment=new Fagmentmain(); 
     /*startActivity(new Intent(MainActivity.this,Category.class));*/ 
     break; 
    case 1: 
     //ft.replace(R.id.content_frame, webfrag,"web"); 
     fragment=new WebFragment(); 
     /*Intent intent=new Intent(MainActivity.this,News.class); 
     intent.putExtra("pos",0); 
     startActivity(intent);*/ 
     //startActivity(new Intent(MainActivity.this,News.class)); 
     break; 
    case 2: 
     //ft.replace(R.id.content_frame, aboutfrag,"about"); 
     Intent intent1=new Intent(MainActivity.this,News.class); 
     intent1.putExtra("pos",1); 
     startActivity(intent1); 
     break; 
    case 3: 
     Intent intent2=new Intent(MainActivity.this,News.class); 
     intent2.putExtra("pos",2); 
     startActivity(intent2); 
     break; 
    } 
    /*ft.commit(); 
    mDrawerList.setItemChecked(position, true); 
    setTitle(title[position]); 
    mDrawerLayout.closeDrawer(mDrawerList);*/ 


    if(fragment != null){ 
     FragmentManager fragmanager=getSupportFragmentManager(); 
     fragmanager.beginTransaction().replace(R.id.content_frame,fragment).addToBackStack("").commit(); 

     mDrawerList.setItemChecked(position, true); 
     setTitle(title[position]); 
     mDrawerLayout.closeDrawer(mDrawerList); 
    } 
} 


@Override 
public void onBackPressed() { 

    super.onBackPressed(); 

    FragmentManager fm = getSupportFragmentManager(); 
    //FragmentTab1 frag=(FragmentTab1)getSupportFragmentManager().findFragmentById(arg0) 

    if (fm.getBackStackEntryCount() > 0) { 


     Log.e("back stack entry", fm.getBackStackEntryCount() + ""); 
     fm.popBackStack(); 

    } 

} 

回答

0

通過在我的片段

webview.setOnKeyListener(新OnKeyListener(){

 @Override 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 
      // TODO Auto-generated method stub 

      if((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()){ 
       webview.goBack(); 
       return true; 
      } 
      return false; 
     } 
    }); 
添加以下代碼解決了這個問題