erhalten Ich habe ein Fragment. Innerhalb dieses Fragment erschaffe ich EditText programmatisch Widgets wie folgt:Wert von programmatisch hinzugefügtem Editiertext in Fragment
driverItem = new EditText(getContext());
driverItemArray.add(driverItem);
driverItem.setId((int) dataSnapshot.getChildrenCount());
driverItem.setHint(people.getItem());
driverItem.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
lin.addView(driverItem);
Wie kann ich die EditText Werte von meinem Fragment erhalten, wenn eine Schaltfläche in meinem MainActivity drücken?
UPDATE MIT NEUEN CODE
Hier ist meine Mainactivity
public class MainActivity extends AppCompatActivity implements DriverFragment.OnFragmentInteractionListener{
private SectionsPagerAdapter mSectionsPagerAdapter;
private ViewPager mViewPager;
private TabLayout tabLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setOffscreenPageLimit(3);
setupViewPager(mViewPager);//mViewPager.setAdapter(mSectionsPagerAdapter);
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
setupTabIcons();
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
// .setAction("Action", null).show();
//BUTTON FIRES AND GET THE VALues FROM FRAGMENT
onReturnValue(s);
}
});
}
private void setupTabIcons(){
tabLayout.getTabAt(0).setIcon(tabIcons[0]);
tabLayout.getTabAt(1).setIcon(tabIcons[1]);
tabLayout.getTabAt(2).setIcon(tabIcons[2]);
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new DriverFragment(), "");
adapter.addFragment(new ErrorFragment(), "");
adapter.addFragment(new InfoFragment(), "");
viewPager.setAdapter(adapter);
}
@Override
public void onReturnValue(String driverItem) {
System.out.println(driverItem);
}
Hier ist mein Fragment
public class DriverFragment extends Fragment{
ListView listView;
List<String> driverItemArray = new ArrayList<String>();
private OnFragmentInteractionListener mListener;
public DriverFragment(){
}
public interface OnFragmentInteractionListener {
void onReturnValue(String driverItem);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
}
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Firebase.setAndroidContext(getActivity());
}
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){
View view = inflater.inflate(R.layout.fragment_driver,container,false);
listView = (ListView) view.findViewById(R.id.listViewDriver);
return view;
}
@Override
public void onStart(){
super.onStart();
FirebaseListAdapter<String> adapter = new FirebaseListAdapter<String>(
getActivity(),
String.class,
R.layout.textview_layout,
mRootRef) {
@Override
protected void populateView(View view, String s, int i) {
TextInputLayout textInputLayout = (TextInputLayout)view.findViewById(R.id.input_layout);
EditText editText = (EditText)view.findViewById(R.id.input_edittext);
editText.setId(i);
textInputLayout.setHint(s);
driverItemArray.add(s);
}
};
listView.setAdapter(adapter);
Toast.makeText(getActivity().getApplicationContext(), listView.getAdapter().getCount()+"", Toast.LENGTH_SHORT).show();
}
}
Mein MainActivity und Fragment sind zwei verschiedene Dateien, damit ich gewohnt den String erreichen –
Sie String-Array Ihr Fragment Absicht –