1.Simple Fragment XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<fragment
android:id="@+id/id"
android:layout_width="match_parent"
android:name="abhiandroid.com.prectice.BlankFragment" // Fragment name
android:layout_height="505dp"
tools:ignore="MissingConstraints" />
</androidx.constraintlayout.widget.ConstraintLayout>
2. fragment start Technik method
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.add(R.id.framelayout,new BlankFragment());
ft.commit();
3. fragment with backStack
package abhiandroid.com.prectice;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.ContentInfoCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.os.Bundle;
import android.provider.DocumentsContract;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button b1, b2, b3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = findViewById(R.id.b1);
b2 = findViewById(R.id.b2);
b3 = findViewById(R.id.b3);
fragpass(new BlankFragment(),0);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// FragmentManager fragmentManager = getSupportFragmentManager();
//
// FragmentTransaction ft = fragmentManager.beginTransaction();
//
// ft.add(R.id.framelayout,new BlankFragment());
// ft.commit();
fragpass(new BlankFragment(),0);
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fragpass(new BlankFragment2(),1);
}
});
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fragpass(new BlankFragment3(),1);
}
});
}
// Exit OVerRight Back Method
@Override
public void onBackPressed() {
finish();
super.onBackPressed();
}
//
private void fragpass(Fragment fragmen, int flag) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
if (flag == 0) {
ft.add(R.id.framelayout, fragmen);
//String ROOT_FRAGMENT_TAG = "root_fragment";
//pop remove
fragmentManager.popBackStack(null,FragmentManager.POP_BACK_STACK_INCLUSIVE );
ft.addToBackStack(null);
}
else //{
ft.replace(R.id.framelayout,fragmen);
// }
ft.addToBackStack(null);
ft.commit();
}
}
4. Activity to share Data Fragment using Bundle
private void fragpass(Fragment fragmen, int flag) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
if (flag == 0) {
ft.add(R.id.framelayout, fragmen);
//String ROOT_FRAGMENT_TAG = "root_fragment";
//pop remove
fragmentManager.popBackStack(null,FragmentManager.POP_BACK_STACK_INCLUSIVE );
ft.addToBackStack(null);
// Share data to fragment
Bundle bundle = new Bundle();
bundle.putString("name","pro");
bundle.putInt("roll",10);
fragmen.setArguments(bundle);
}
else //{
ft.replace(R.id.framelayout,fragmen);
// }
ft.addToBackStack(null);
ft.commit();
}
* Access
if (getArguments()!= null){
String name = getArguments().getString("name");
int roll = getArguments().getInt("roll");
Log.d("main",name + roll);
}
5. Method Access Fragment class Access activity method
((MainActivity)getActivity()).FragmentCall();
6. Data parsing without kay
package abhiandroid.com.prectice;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.ContentInfoCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.os.Bundle;
import android.provider.DocumentsContract;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button b1, b2, b3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = findViewById(R.id.b1);
b2 = findViewById(R.id.b2);
b3 = findViewById(R.id.b3);
fragpass(new BlankFragment(),0);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// FragmentManager fragmentManager = getSupportFragmentManager();
//
// FragmentTransaction ft = fragmentManager.beginTransaction();
//
// ft.add(R.id.framelayout,new BlankFragment());
// ft.commit();
// fragpass(new BlankFragment(),0);
// data parsing without Key
fragpass(BlankFragment.getInstance("sky",15),0);
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fragpass(new BlankFragment2(),1);
}
});
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fragpass(new BlankFragment3(),1);
}
});
}
// Exit OVerRight Back Method
@Override
public void onBackPressed() {
finish();
super.onBackPressed();
}
//
private void fragpass(Fragment fragmen, int flag) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
if (flag == 0) {
ft.add(R.id.framelayout, fragmen);
//String ROOT_FRAGMENT_TAG = "root_fragment";
//pop remove
fragmentManager.popBackStack(null,FragmentManager.POP_BACK_STACK_INCLUSIVE );
ft.addToBackStack(null);
// Share data to fragment
// Bundle bundle = new Bundle();
// bundle.putString("name","pro");
// bundle.putInt("roll",10);
// fragmen.setArguments(bundle);
}
else //{
ft.replace(R.id.framelayout,fragmen);
// }
ft.addToBackStack(null);
ft.commit();
}
public void FragmentCall(){
Log.d("fragment", "Activity to Fragment method call successfully");
}
}
7.
package abhiandroid.com.prectice;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class BlankFragment extends Fragment {
public BlankFragment() {
// Required empty public constructor
}
public static BlankFragment getInstance(String v1, int v2){
BlankFragment blankFragment = new BlankFragment();
// already including kay technic
Bundle bundle = new Bundle();
bundle.putString("name1",v1);
bundle.putInt("roll1",v2);
blankFragment.setArguments(bundle);
return blankFragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (getArguments()!= null){
String name = getArguments().getString("name1");
int roll = getArguments().getInt("roll1");
Log.d("main",name + roll);
}
View view = inflater.inflate(R.layout.fragment_blank, container, false);
// Fragment class Access activity method
((MainActivity)getActivity()).FragmentCall();
return view;
}
}
8.