In my Android app I have an Edit Text and a button which when clicked adds a fragment to my main activity containing the message that was written in my Edit Text. The problem is that when I change the message and click the button the fragments overlap. I have already tried to add a background to my fragment's layout but when I do that the background appears on top of all messages (the text view is not even visible, only selectable for copy/pasting).
The Code:
Method in Main Activity which adds the fragment:
public void viewMessage(View view) { // Create a new Fragment to be placed in the activity layout ViewMessageFragment fragment = new ViewMessageFragment(); //Add the message to the fragment //Get the message EditText editText = (EditText) findViewById(R.id.edit_message); String message = editText.getText().toString(); //Add it to the fragment Bundle bundle = new Bundle(); bundle.putString(EXTRA_MESSAGE, message); fragment.setArguments(bundle); // Add the fragment to the 'view_message' FrameLayout FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.replace(R.id.view_message, fragment); transaction.commit(); } Fragment:
public class ViewMessageFragment extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { //Get the message String message = getArguments().getString(MainActivity.EXTRA_MESSAGE); //Create the TextView TextView textView = new TextView(container.getContext()); textView.setTextSize(20); textView.setGravity(Gravity.CENTER); textView.setWidth(-1);//This line is the same than android:layout_width="match_parent" textView.setHeight(-1);//This line is the same than android:layout_height="match_parent" textView.setTextIsSelectable(true); textView.setText(message); //Add the TextView container.addView(textView); // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_view_message, container, false); } } Fragment's Layout:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > </LinearLayout> I would really appreciate if someone could help me! Thank You!
Edit: Am I adding the textView to the fragment container(a FrameLayout) in the next line?
container.addView(textView); If I am, can that be causing the problem?