以下のアクティビティのコードをFragmentのコードに変更するにはどうすればよいですか?これはAndroidスタジオのコードです。私のページは今、断片です、私はこのコードを使用したいと私はフラグメントコードに変更したい。もし誰が知っていたら、教えてください、ありがとう。また、私は現在のコードを断片化して、その断片化されたコードと接続します。フラグメント内のonBackPressedを作成する
断片コード:
public class Tab1Fragment extends Fragment {
Context mContext;
public WebView webView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab1_fragment, container, false);
mContext = view.getContext();
webView = (WebView) view.findViewById(R.id.webview);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setInitialScale(1);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);
webView.getSettings().setBuiltInZoomControls(true);
webView.loadUrl("https://www.facebook.com/");
webView.setWebViewClient(new WebViewClient());
return view;
}
}
アクティビティコード:
public class Schedule extends AppCompatActivity {
private static final String TAG = "Schedule";
private SectionsPagerAdapter mSectionsPagerAdapter;
/**
* The {@link ViewPager} that will host the section contents.
*/
private ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.schedule);
Log.d(TAG, "onCreate: Starting.");
initialiseView();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
TextView mTitle = (TextView) toolbar.findViewById(R.id.toolbar_title);
setSupportActionBar(toolbar);
toolbar.setTitle("SCHEDULE");
mTitle.setText(toolbar.getTitle());
getSupportActionBar().setDisplayShowTitleEnabled(false);
if(getSupportActionBar() !=null){
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
// Create the adapter that will return a fragment for each of the three
// primary sections of the activity.
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
setupViewPager(mViewPager);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
}
private void setupViewPager(ViewPager viewPager){
SectionPageAdapter adapter = new SectionPageAdapter(getSupportFragmentManager());
adapter.addFragment(new Tab1Fragment(), "4 Sept 2018");
adapter.addFragment(new Tab2Fragment(), "5 Sept 2018");
adapter.addFragment(new Tab3Fragment(), "6 Sept 2018");
viewPager.setAdapter(adapter);
}
private void initialiseView() {
mTab1Fragment = new Tab1Fragment();
FragmentManager mFragmentManager = getSupportFragmentManager();
FragmentTransaction mFragmentTransaction = mFragmentManager.beginTransaction();
mFragmentTransaction.replace(R.id.container, mTab1Fragment, "TAB 1 FRAGMENT");
mFragmentTransaction.commit();
}
@Override
public void onBackPressed() {
//Toast.makeText(this, "Calling back pressed", Toast.LENGTH_SHORT).show();
if (mTab1Fragment != null) {
if (mTab1Fragment.webView.canGoBack()) {
mTab1Fragment.webView.goBack();
}
} else {
super.onBackPressed();
}
}
}
あなたが得るエラーです義和あなたの活動 – diegoveloper
からのフラグメントを作成するときにコードを入れて?、私は、あなただけonCreateView' 'でビューを膨らませる必要があり、あなたがonViewCreated'と負荷'でセットアップあなたのWebViewをすべきだと思います'onStart'のリクエスト – Lamar
私は既にこのリンクに解決策を見つけました:https://stackoverflow.com/questions/10631425/how-to-add-go-back-function-in-webview-inside-fragment –