Android 片段Webview中的Goback函数
如何在webview片段中添加goBack函数 当我点击后退按钮时,它从片段中退出,我不希望它完成,而是加载旧网站 我试过了,但是换了一些词,它不起作用 请帮忙 代码在这里 片段活性Android 片段Webview中的Goback函数,android,android-fragments,webview,Android,Android Fragments,Webview,如何在webview片段中添加goBack函数 当我点击后退按钮时,它从片段中退出,我不希望它完成,而是加载旧网站 我试过了,但是换了一些词,它不起作用 请帮忙 代码在这里 片段活性 package info.androidhive.materialtabs.activity; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.F
package info.androidhive.materialtabs.activity;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.webkit.WebView;
import android.webkit.WebViewFragment;
import java.util.ArrayList;
import java.util.List;
import info.androidhive.materialtabs.R;
import info.androidhive.materialtabs.fragments.OneFragment;
import info.androidhive.materialtabs.fragments.ThreeFragment;
import info.androidhive.materialtabs.fragments.TwoFragment;
public class SimpleTabsActivity extends AppCompatActivity {
private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_simple_tabs);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
viewPager = (ViewPager) findViewById(R.id.viewpager);
setupViewPager(viewPager);
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new OneFragment(), "ONE");
adapter.addFragment(new TwoFragment(), "TWO");
adapter.addFragment(new ThreeFragment(), "THREE");
viewPager.setAdapter(adapter);
}
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
}
package info.androidhive.materialtabs.activity;
导入android.os.Bundle;
导入android.support.design.widget.TabLayout;
导入android.support.v4.app.Fragment;
导入android.support.v4.app.FragmentManager;
导入android.support.v4.app.FragmentPagerAdapter;
导入android.support.v4.view.ViewPager;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.webkit.WebView;
导入android.webkit.WebViewFragment;
导入java.util.ArrayList;
导入java.util.List;
进口信息androidhive.materialtabs.R;
导入info.androidhive.materialtabs.fragments.OneFragment;
导入info.androidhive.materialtabs.fragments.ThreeFragment;
导入info.androidhive.materialtabs.fragments.TwoFragment;
公共类SimpleTableActivity扩展了AppCompatActivity{
专用工具栏;
私人摊位摊位;
私人视页机视页机;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u simple\u选项卡);
toolbar=(toolbar)findviewbyd(R.id.toolbar);
设置支持操作栏(工具栏);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
viewPager=(viewPager)findViewById(R.id.viewPager);
设置viewPager(viewPager);
tabLayout=(tabLayout)findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
}
专用无效设置ViewPager(ViewPager ViewPager){
ViewPagerAdapter适配器=新的ViewPagerAdapter(getSupportFragmentManager());
addFragment(新的OneFragment(),“一”);
addFragment(新的TwoFragment(),“TWO”);
addFragment(新的ThreeFragment(),“THREE”);
viewPager.setAdapter(适配器);
}
类ViewPagerAdapter扩展了FragmentPagerAdapter{
私有最终列表MFFragmentList=new ArrayList();
私有最终列表MFFragmentTitleList=new ArrayList();
公共视图页面编辑器(碎片管理器){
高级经理;
}
@凌驾
公共片段getItem(int位置){
返回MFFragmentList.get(位置);
}
@凌驾
public int getCount(){
返回MFFragmentList.size();
}
public void addFragment(片段片段,字符串标题){
添加(片段);
MFFragmentTitleList.add(标题);
}
@凌驾
公共字符序列getPageTitle(int位置){
返回MFFragmentTitleList.get(位置);
}
}
}
碎片布局
实际上,您不能直接在片段内部执行。可在
碎片活动
中覆盖onBackPressed
。您可以做的是:
onBackPressed
时,检查当前片段的实例是否是显示webview
的实例片段是否可以返回webview
李>
如果不是,请拨打super
或任何您需要的电话
有关更多详细信息,请访问此覆盖活动中的onBackPressed方法。
从这里尝试找到您当前的片段,并从该片段调用一个方法来处理您的web视图操作
示例(此代码属于您的活动):
可能重复的R.id.container是包含片段的xml元素,我不知道您如何称呼它!你们能发布更多的代码(活动和它的xml描述)吗?我把它们添加到了主要问题中。。您能检查一下吗?尝试将R.id.container更改为R.id.viewpager
@Override
public void onBackPressed() {
if (getFragmentManager().findFragmentById(R.id.container) instanceof YourFragment) {
YourFragment currentFragment = (YourFragment) getFragmentManager().findFragmentById(R.id.container);
if (currentFragment != null) {
currentFragment.handleWebViewNavigation();
}
}
}