다른 AppCompatActivity 클래스의 단편에 WebView URL을로드하려면 어떻게해야합니까?

사우 라브

"스 와이프 탭이있는 서랍"프로젝트를 만들고 있습니다. 거기에서 조각으로 webview를 사용했고 다른 AppCompatActivity에서 Webview URL을로드하고 싶습니다. 내가 어떻게 해?

조각 클래스 :

public class SocialFragment extends Fragment {

    ProgressBar pb_per;
    public WebView mWebView;
    View view;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.social_layout, container, false);

        pb_per = (ProgressBar) view.findViewById(R.id.progressBar_book1);
        mWebView = (WebView) view.findViewById(R.id.web_book1); //This is the id you gave for webview

        //--------------------------- to over ride keyboard error ------(1)
        mWebView.setWebViewClient(new myWebClient());
        mWebView.getSettings().setJavaScriptEnabled(true);
        //--------------------------------------------------

        mWebView.getSettings().setSupportZoom(true);       //Zoom Control on web (You don't need this
        //if ROM supports Multi-Touch
        mWebView.getSettings().setBuiltInZoomControls(true); //Enable Multitouch if supported by ROM
        mWebView.setBackgroundColor(Color.parseColor("#FFFFFF"));
        mWebView.getSettings().setUseWideViewPort(true);
        mWebView.getSettings().setLoadWithOverviewMode(false);

        // Load URL
        mWebView.loadUrl("http://www.twitter.com");
        mWebView.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (event.getAction() == KeyEvent.ACTION_DOWN) {
                    WebView webView = (WebView) v;

                    switch (keyCode) {
                        case KeyEvent.KEYCODE_BACK:
                            if (webView.canGoBack()) {
                                webView.goBack();

                                return true;
                            }
                            break;
                    }
                }

                return false;
            }
        });

        return view;
    }

    //===================================================================
    public class myWebClient extends WebViewClient {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            // TODO Auto-generated method stub
            pb_per.setVisibility(View.VISIBLE);
            //  multi_per.setVisibility(ProgressBar.GONE);

            view.loadUrl(url);

            return true;
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            // TODO Auto-generated method stub
            super.onPageFinished(view, url);
            pb_per.setVisibility(View.GONE);
            //  multi_per.setVisibility(ProgressBar.VISIBLE);
        }
    }
}

TabFragment.Java 클래스

public class TabFragment extends Fragment {

    public static TabLayout tabLayout;
    public static ViewPager viewPager;
    public static int int_items = 2;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        /**
         *Inflate tab_layout and setup Views.
         */
            View x =  inflater.inflate(R.layout.tab_layout,null);
            tabLayout = (TabLayout) x.findViewById(R.id.tabs);
            viewPager = (ViewPager) x.findViewById(R.id.viewpager);

        /**
         *Set an Apater for the View Pager
         */
        viewPager.setAdapter(new MyAdapter(getChildFragmentManager()));

        /**
         * Now , this is a workaround ,
         * The setupWithViewPager dose't works without the runnable .
         * Maybe a Support Library Bug .
         */

        tabLayout.post(new Runnable() {
            @Override
            public void run() {
                    tabLayout.setupWithViewPager(viewPager);
                   }
        });

        return x;

    }

    class MyAdapter extends FragmentPagerAdapter{

        public MyAdapter(FragmentManager fm) {
            super(fm);
        }


       // Return fragment with respect to Position .


        @Override
        public Fragment getItem(int position)
        {
          switch (position){
              case 0 : return new PrimaryFragment();
              case 1 : return new SocialFragment();

          }
        return null;
        }

        @Override
        public int getCount() {

            return int_items;

        }

       // This method returns the title of the tab according to the position.


        @Override
        public CharSequence getPageTitle(int position) {

            switch (position){
                case 0 :
                    return "Facebook";
                case 1 :
                    return "Twitter";
            }
                return null;
        }
    }

}

AppCompatActivity 클래스 :

public class MainActivity extends AppCompatActivity {
    DrawerLayout mDrawerLayout;
    NavigationView mNavigationView;
    FragmentManager mFragmentManager;
    FragmentTransaction mFragmentTransaction;

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

        // Setup the DrawerLayout and NavigationView
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
        mNavigationView = (NavigationView) findViewById(R.id.shitstuff);

        // Lets inflate the very first fragment
        // Here , we are inflating the TabFragment as the first Fragment
        mFragmentManager = getSupportFragmentManager();
        mFragmentTransaction = mFragmentManager.beginTransaction();
        mFragmentTransaction.replace(R.id.containerView, new TabFragment()).commit();

        // Setup click events on the Navigation View Items.
        mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(MenuItem menuItem) {
                mDrawerLayout.closeDrawers();


                if (menuItem.getItemId() == R.id.nav_item_sent) {
                    //###############################From Here I Call WEBVIEW URL #######################
                    SocialFragment.mWebView.loadUrl("http://www.busindia.com/busindia_TNSTC.jsp");
                }

                if (menuItem.getItemId() == R.id.nav_item_inbox) {
                    FragmentTransaction xfragmentTransaction = mFragmentManager.beginTransaction();
                    xfragmentTransaction.replace(R.id.containerView, new TabFragment()).commit();
                }

                return false;
            }
        });

        // Setup Drawer Toggle of the Toolbar
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        ActionBarDrawerToggle mDrawerToggle
                = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.app_name, R.string.app_name);

        mDrawerLayout.setDrawerListener(mDrawerToggle);
        mDrawerToggle.syncState();
    }
}

나는 @cprakashagr 주어진 해결책을 시도했지만 오류가 발생했습니다. 아래 이미지 참조

오류 ScreenShot 참조

사우 라브

도움을 주셔서 감사합니다.

 SocialFragment.mWebView.post(new Runnable() {


                         public void run() {
                             SocialFragment.mWebView.loadUrl("http://www.busindia.com/busindia_TNSTC.jsp");
                         }
                     });

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Xamarin의 한 클래스에서 다른 클래스로 바운드 값을 전달하려면 어떻게해야합니까?

분류에서Dev

기본 클래스 C #의 한 하위 클래스에서 다른 하위 클래스로 값을 전달하려면 어떻게해야합니까?

분류에서Dev

Java에서 2 개의 클래스를 확장하려면 어떻게해야합니까? JFrame과 다른 클래스를 확장해야합니다.

분류에서Dev

두 개의 다른 메인 클래스를 동시에 실행하려면 어떻게해야합니까?

분류에서Dev

JavaScript-다른 파일의 함수를 클래스에 추가하려면 어떻게해야합니까?

분류에서Dev

다른 클래스의 라이브러리 클래스에서 메서드에 직접 액세스하려면 어떻게해야합니까? 자바

분류에서Dev

다른 클래스에서 연결 클래스를 호출하려면 어떻게해야합니까?

분류에서Dev

클래스 내의 다른 클래스에 대한 포인터를 C ++의 다른 포인터에 복사하려면 어떻게해야합니까?

분류에서Dev

다른 텍스트 요소 (같은 클래스 아래)에 대해 CSS 클래스의 한 부분 만 변경하려면 어떻게해야합니까?

분류에서Dev

Webview를 다른보기 아래에 놓고 모든보기를 함께 스크롤하려면 어떻게해야합니까?

분류에서Dev

네트워크의 다른 노드에 다른 색상을 할당하려면 어떻게해야합니까?

분류에서Dev

외래 키로 다른 테이블의 열에 액세스하려면 어떻게해야합니까?

분류에서Dev

다른 클래스에서 ArrayList에 액세스하려면 어떻게해야합니까?

분류에서Dev

각 빌드의 일부 메서드 / 클래스를 무시하고 두 개의 다른 프레임 워크에 대해 두 개의 다른 DLL을 출력하도록 클래스 라이브러리를 빌드하려면 어떻게해야합니까?

분류에서Dev

서로 다른 라인의 두 클래스가 Java에서 서로 상호 작용하게하려면 어떻게해야합니까?

분류에서Dev

서로 다른 라인의 두 클래스가 Java에서 서로 상호 작용하게하려면 어떻게해야합니까?

분류에서Dev

한 클래스의 메서드를 사용하여 Java에서 다른 인스턴스를 만들려면 어떻게해야합니까?

분류에서Dev

다른 클래스에서 UICollectionView를 업데이트하려면 어떻게해야합니까?

분류에서Dev

S3의 파일을 FormData로 다른 API에 게시하려면 어떻게해야합니까?

분류에서Dev

장치에 따라 다른 스토리 보드를로드하려면 어떻게해야합니까?

분류에서Dev

하나의 변수로 클래스를 디자인하고 동시에 다른 변수로 작업하려면 어떻게해야합니까?

분류에서Dev

Kdenlive에서 클립을 다른 클립으로 대체하려면 어떻게해야합니까?

분류에서Dev

Ace 텍스트 편집기에서 콘텐츠를 다운로드하려면 어떻게해야합니까?

분류에서Dev

XCODE SWIFT 버튼을 누른 후 다른 파일 / 클래스에서 코드를 실행하려면 어떻게해야합니까?

분류에서Dev

Ninject가 특정 SerialPort 인스턴스를 다른 클래스의 특정 인스턴스에 주입하도록하려면 어떻게해야합니까?

분류에서Dev

Pandas에서 다른 열의 값을 기준으로 열을 분할하려면 어떻게해야합니까?

분류에서Dev

Spark-Core에서 두 개의 다른 필드로 정렬하려면 어떻게해야합니까?

분류에서Dev

하나의 CSV에서 다른 기존 CSV로 새 줄을 추가하려면 어떻게해야합니까?

분류에서Dev

다른 클래스의 스택보기 아래에 컨테이너보기를 배치하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    Xamarin의 한 클래스에서 다른 클래스로 바운드 값을 전달하려면 어떻게해야합니까?

  2. 2

    기본 클래스 C #의 한 하위 클래스에서 다른 하위 클래스로 값을 전달하려면 어떻게해야합니까?

  3. 3

    Java에서 2 개의 클래스를 확장하려면 어떻게해야합니까? JFrame과 다른 클래스를 확장해야합니다.

  4. 4

    두 개의 다른 메인 클래스를 동시에 실행하려면 어떻게해야합니까?

  5. 5

    JavaScript-다른 파일의 함수를 클래스에 추가하려면 어떻게해야합니까?

  6. 6

    다른 클래스의 라이브러리 클래스에서 메서드에 직접 액세스하려면 어떻게해야합니까? 자바

  7. 7

    다른 클래스에서 연결 클래스를 호출하려면 어떻게해야합니까?

  8. 8

    클래스 내의 다른 클래스에 대한 포인터를 C ++의 다른 포인터에 복사하려면 어떻게해야합니까?

  9. 9

    다른 텍스트 요소 (같은 클래스 아래)에 대해 CSS 클래스의 한 부분 만 변경하려면 어떻게해야합니까?

  10. 10

    Webview를 다른보기 아래에 놓고 모든보기를 함께 스크롤하려면 어떻게해야합니까?

  11. 11

    네트워크의 다른 노드에 다른 색상을 할당하려면 어떻게해야합니까?

  12. 12

    외래 키로 다른 테이블의 열에 액세스하려면 어떻게해야합니까?

  13. 13

    다른 클래스에서 ArrayList에 액세스하려면 어떻게해야합니까?

  14. 14

    각 빌드의 일부 메서드 / 클래스를 무시하고 두 개의 다른 프레임 워크에 대해 두 개의 다른 DLL을 출력하도록 클래스 라이브러리를 빌드하려면 어떻게해야합니까?

  15. 15

    서로 다른 라인의 두 클래스가 Java에서 서로 상호 작용하게하려면 어떻게해야합니까?

  16. 16

    서로 다른 라인의 두 클래스가 Java에서 서로 상호 작용하게하려면 어떻게해야합니까?

  17. 17

    한 클래스의 메서드를 사용하여 Java에서 다른 인스턴스를 만들려면 어떻게해야합니까?

  18. 18

    다른 클래스에서 UICollectionView를 업데이트하려면 어떻게해야합니까?

  19. 19

    S3의 파일을 FormData로 다른 API에 게시하려면 어떻게해야합니까?

  20. 20

    장치에 따라 다른 스토리 보드를로드하려면 어떻게해야합니까?

  21. 21

    하나의 변수로 클래스를 디자인하고 동시에 다른 변수로 작업하려면 어떻게해야합니까?

  22. 22

    Kdenlive에서 클립을 다른 클립으로 대체하려면 어떻게해야합니까?

  23. 23

    Ace 텍스트 편집기에서 콘텐츠를 다운로드하려면 어떻게해야합니까?

  24. 24

    XCODE SWIFT 버튼을 누른 후 다른 파일 / 클래스에서 코드를 실행하려면 어떻게해야합니까?

  25. 25

    Ninject가 특정 SerialPort 인스턴스를 다른 클래스의 특정 인스턴스에 주입하도록하려면 어떻게해야합니까?

  26. 26

    Pandas에서 다른 열의 값을 기준으로 열을 분할하려면 어떻게해야합니까?

  27. 27

    Spark-Core에서 두 개의 다른 필드로 정렬하려면 어떻게해야합니까?

  28. 28

    하나의 CSV에서 다른 기존 CSV로 새 줄을 추가하려면 어떻게해야합니까?

  29. 29

    다른 클래스의 스택보기 아래에 컨테이너보기를 배치하려면 어떻게해야합니까?

뜨겁다태그

보관