문제가있는 응용 프로그램을 디자인하고 있습니다.
나는이 문자열 날짜; 에 MainActivity.class 두 단편이있다.
InboundDate 및 OutboundDate
TabLayout & ViewPager에 의해 설계되었으며, 날짜를 조각으로 보내고 두 조각 모두에서 POST 요청으로 WebServices를 호출해야 할 때 문제가 발생합니다.
아래는 MainActivity.class에있는 날짜입니다.이 날짜를 두 조각으로 보내고 jsonRequest를 호출하고 Recyclerview를 두 조각으로 설정하는 방법 또는 jsonRequest를 MainActivity 자체로 호출하면 두 조각에 어떻게 표시 할 수 있습니까?
date = getIntent().getStringExtra("DATE");
Log.e("DATE",""+date);
ViewPager 및 TabLayout 코드 :
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFrag(new InBoundDate(),"INBOUND");
adapter.addFrag(new OutBoundDate(),"OUTBOUND");
viewPager.setAdapter(adapter);
}
//viewPager adapter ----- inbound & outbound
public 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 android.support.v4.app.Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFrag(android.support.v4.app.Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
인터넷 검색을 통해이 질문에 대한 답을 얻었습니다. 이 질문 에서 동일한 활동에 존재하는 조각 에 MainActivity.java 에 문자열을 보내야합니다 .
참고 : 번들 객체를 생성하고 번들별로 문자열 (모든 데이터 유형)을 전송해야합니다.
InBoundDate 및 OutBoundDate 두 조각이 있습니다 .
에서 MainActivity.java setupViewpager에서 ()
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
//bundle
bundle =new Bundle();
bundle.putString("DATE","2017-10-19");
InBoundDate frag_in = new InBoundDate();
OutBoundDate frag_out = new OutBoundDate();
frag_in.setArguments(bundle);
frag_out.setArguments(bundle);
adapter.addFrag(frag_in,"INBOUND");
adapter.addFrag(frag_out,"OUTBOUND");
viewPager.setAdapter(adapter);
}
ViewPager 어댑터 :
//viewPager adapter ----- inbound & outbound
public 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 android.support.v4.app.Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFrag(android.support.v4.app.Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
Fragments 에서 다음과 같이 String을 얻습니다.
String dateTxt;
private Bundle bundle;
//within OncreateView
bundle = this.getArguments();
dateTxt = bundle.getString("DATE");
Log.e("DATE_FRAG_INBOUND",""+dateTxt);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다