1

TopFreeFragment.java 안에있는 텍스트/제목을 어떻게 얻을 수 있습니까?안드로이드에서 단편 Java 안의 텍스트/제목 가져 오기

어떤 탭이 선택되었는지 알기 때문에 웹뷰를로드하고 싶습니다. 내가 어떻게 할 수 있니?

나는 sharedPreferences를 사용하여 시도했지만 올바른 방법이 아니며 제대로 작동하지 않습니다. 여기

은 내가

public class YouTube_Toolbar extends AppCompatActivity { 

Toolbar toolbar; 
TabLayout tabLayout; 
ViewPager viewPager; 
ViewPagerAdapter viewPagerAdapter; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.you_tube__toolbar); 

    toolbar = (Toolbar) findViewById(R.id.toolBar); 
    setSupportActionBar(toolbar); 

    tabLayout = (TabLayout) findViewById(R.id.tabLayout); 
    viewPager = (ViewPager) findViewById(R.id.viewPager); 

    viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager()); 
    viewPagerAdapter.addFragments(new TopFreeFragment(), "TUESDAY"); 
    viewPagerAdapter.addFragments(new TopFreeFragment(), "WEDNESDAY"); 
    viewPagerAdapter.addFragments(new TopFreeFragment(), "THURSDAY"); 
    viewPagerAdapter.addFragments(new TopFreeFragment(), "FRIDAY"); 
    viewPager.setAdapter(viewPagerAdapter); 
    tabLayout.setupWithViewPager(viewPager); 
    tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
     } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 

     } 

     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 

     } 
    }); 
} 

public class TopFreeFragment extends Fragment { 

WebView webView; 
Button download; 

public TopFreeFragment() { 
    // Required empty public constructor 
} 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) 

    return inflater.inflate(R.layout.fragment_top_free, container, false); 
} 
} 

답변

0

가 나는 newInstance() 방법과 조각에 getTitle() 방법을 쓸 것 TopFreeFragment.java 내부 탭 타이틀의 토스트를 보여에서 이름을 전달하려면 Bundle 통해 이 같은

뭔가 :

TopFreeFragment.java

public class TopFreeFragment extends Fragment { 
    WebView webView; 
    Button download; 

    public TopFreeFragment() { 
     // Required empty public constructor 
    } 

    public static TopFreeFragment newInstance(String title) { 
     TopFreeFragment fragment = new TopFreeFragment(); 

     Bundle args = new Bundle(); 
     args.putCharSequence("title", title); 
     fragment.setArguments(args); 

     return fragment; 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) 

     return inflater.inflate(R.layout.fragment_top_free, container, false); 
    } 

    public String getTitle() { 
     Bundle args = getArguments(); 
     return args.getCharSequence("title", "NO TITLE FOUND"); 
    } 
} 

은 다음과 같이 당신의 viewPagerAdapter에 조각을 추가

YouTube_Toolbar.java

public class YouTube_Toolbar extends AppCompatActivity { 

    Toolbar toolbar; 
    TabLayout tabLayout; 
    ViewPager viewPager; 
    ViewPagerAdapter viewPagerAdapter; 

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

     toolbar = (Toolbar) findViewById(R.id.toolBar); 
     setSupportActionBar(toolbar); 

     tabLayout = (TabLayout) findViewById(R.id.tabLayout); 
     viewPager = (ViewPager) findViewById(R.id.viewPager); 

     viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager()); 
     viewPagerAdapter.addFragments(TopFreeFragment.newInstance("TUESDAY"), "TUESDAY"); 
     viewPagerAdapter.addFragments(TopFreeFragment.newInstance("WEDNESDAY"), "WEDNESDAY"); 
     viewPagerAdapter.addFragments(TopFreeFragment.newInstance("THURSDAY"), "THURSDAY"); 
     viewPagerAdapter.addFragments(TopFreeFragment.newInstance("FRIDAY"), "FRIDAY"); 
     viewPager.setAdapter(viewPagerAdapter); 

     tabLayout.setupWithViewPager(viewPager); 
     tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
      @Override 
      public void onTabSelected(TabLayout.Tab tab) { 
      } 

      @Override 
      public void onTabUnselected(TabLayout.Tab tab) { 

      } 

      @Override 
      public void onTabReselected(TabLayout.Tab tab) { 

      } 
     }); 
} 

조각 내에서 조각의 제목을 얻으려면 getTitle()을 호출하면됩니다. 제목을 원하는대로 전달하면 newInstance(String title) 메서드의 인수로 전달할 수 있습니다.

+0

부분적 '공공 무효 onActivityCreated (@Nullable 번들 savedInstanceState) { super.onActivityCreated (savedInstanceState)를 작동; String title = getTitle(); Toast.makeText (getActivity(), ""+ title, Toast.LENGTH_SHORT) .show(); } 여기서 탭은 (예 : "TUESDAY"및 "수요일"과 같이) 선택 될 때 2 개의 출력을 제공합니다. – akkk

+0

어떤 부분이 작동하지 않습니까? onActivityCreated() 대신에 onCreateView() 메소드에 코드를 추가해보십시오. – omkarmoghe

+0

onCreateView()의 경우와 같습니다. – akkk

관련 문제