
- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to pass data from one fragment to another fragment in android?
This example demonstrate about How to pass data from one fragment to another fragment in android
Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project.
Step 2 − Add the following code to res/layout/activity_main.xml.
<?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:orientation = "vertical" android:layout_width = "match_parent" android:layout_height = "match_parent"> <LinearLayout android:id = "@+id/linearlayout01" android:layout_width = "fill_parent" android:layout_height = "fill_parent" android:background = "#ccc" android:layout_weight = "1" android:orientation = "vertical"> <fragment android:name = "com.example.myapplication.FirstFragment" android:id = "@+id/frag_1" android:layout_width = "fill_parent" android:layout_height = "fill_parent" /> </LinearLayout> <LinearLayout android:id = "@+id/linearlayout02" android:layout_width = "fill_parent" android:layout_height = "fill_parent" android:layout_weight = "1" android:background = "#eee" android:orientation = "vertical"> <fragment android:name = "com.example.myapplication.SecondFragment" android:id = "@+id/frag_2" android:layout_width = "fill_parent" android:layout_height = "fill_parent" /> </LinearLayout> </LinearLayout>
In the above code, we have taken fragments to pass the data between two fragments.
Step 3 − Add the following code to src /MainActivity.java
<?xml version = "1.0" encoding = "utf-8"?> import android.os.Bundle; import android.support.v4.app.FragmentActivity; public class MainActivity extends FragmentActivity implements OnButtonPressListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public void onButtonPressed(String msg) { // TODO Auto-generated method stub SecondFragment Obj = (SecondFragment) getSupportFragmentManager().findFragmentById(R.id.frag_2); Obj.onFragmentInteraction(msg); } }
Step 4 − Add the following code to src / FirstFragment.java
<?xml version = "1.0" encoding = "utf-8"?> import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class FirstFragment extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { ViewGroup root = (ViewGroup) inflater.inflate(R.layout.fragment, null); init(root); return root; } OnButtonPressListener buttonListener; @Override public void onAttach(Activity activity) { super.onAttach(activity); try { buttonListener = (OnButtonPressListener) getActivity(); } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement onButtonPressed"); } } void init(ViewGroup root) { TextView but = (TextView)root.findViewById(R.id.text); but.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub buttonListener.onButtonPressed("Message From First Fragment"); } }); } }
Step 5 − Add the following code to src / SecondFragment.java
<?xml version = "1.0" encoding = "utf-8"?> import android.annotation.SuppressLint; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class SecondFragment extends Fragment { TextView textView; View view; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment, container, false); return view; } public void onFragmentInteraction(String uri) { Log.d("sai",uri); textView = view.findViewById(R.id.text); textView.setText(uri); } }
Step 6 − Add the following code to res/layout/ fragment.xml.
<?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:layout_width = "match_parent" android:gravity = "center" android:layout_height = "match_parent"> <TextView android:id = "@+id/text" android:textSize = "30sp" android:text = "Click" android:layout_width = "wrap_content" android:layout_height = "wrap_content" /> </LinearLayout>
Step 7 − Add the following code to src/ OnButtonPressListener.java.
<?xml version = "1.0" encoding = "utf-8"?> public interface OnButtonPressListener { public void onButtonPressed(String msg); }
Let's try to run your application. I assume you have connected your actual Android Mobile device with your computer. To run the app from android studio, open one of your project's activity files and click Run icon from the toolbar. Select your mobile device as an option and then check your mobile device which will display your default screen –
Now click on first fragment text view, it will show the result as shown below –
Click here to download the project code
- Related Questions & Answers
- How to send data from one Fragment to another Fragment in Android?
- Send data from one Fragment to another using Kotlin?
- How to pass a variable from Activity to Fragment in Android?
- How to pass multiple data from one activity to another in Android?
- How to pass data from one activity to another in Android using shared preferences?
- How to call an activity method from a fragment in Android App?
- Fragment in React.js
- How to use findViewById in Fragment?
- How to pass values from one activity to another in Android?
- How to send a variable from Activity to Fragment in Android using Kotlin?
- Fragment Tutorial with Example in Android Studio?
- How to pass a String from one Activity to another in Android?
- How to pass an object from one Activity to another in Android?
- How to use context in a fragment?
- How to pass an image from one activity another activity in Android?