I've an addActivity
hosting 5 fragments, on each fragments I've some fields to fill.
I want to get the value of those fields from the addActivity
. I tried something like that :
AddActivity.java
public class AddActivity extends FragmentActivity {
ViewPager vp;
ProgressDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add);
vp = (ViewPager) findViewById(R.id.pager);
PagerAdapter pa = new FragPagerAdapter(getSupportFragmentManager());
vp.setAdapter(pa);}
public class getValueOfFields() {
//here I'm trying to get the value of differents fields in the different fragments but I get
always "editText == Null" If the editText is in The fragment 1 or 2 or 3 it will get null
EditText editTextFromFrag1 = (EditText) findViewById(R.id.visitDateFiled); // this == null
// If the EditText is in Fragment 4 or 5 it will get the value normaly without any issue
...}
FragPagerAdapter.java
public class FragPagerAdapter extends FragmentPagerAdapter {
public FragPagerAdapter(FragmentManager fm) {
super(fm);}
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
return new FirstFragment();
case 1:
return new SecondFragment();
case 2:
return new HousingFragment();
case 3:
return new FeedingFragment();
case 4:
return new OtherFragment();
}
return null;
}
@Override
public int getCount() {
return 5; }
OtherFragment.java public class OtherFragment extends Fragment { Button btn;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_other, container, false);
btn = (Button) view.findViewById(R.id.send);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Call the getValueOfFields (After filling the differnts fields the user click the send button)
((AddActivity) getActivity()).getValueOfFields();
}
});
return view;
}
}
Updated
The problem that I get always EditText (and the others field to get ) equals to null If they are Located In the Fragment 1 or 2 or 3.
Else I get The right Value