
1.4kviews
Hii everyone in this Android Article we are discussing on DialogFragment. hare we can learn How To open a DialogFragment in activity Android tutorial. We are Create a Dialog fragment in Dialog we can create a user form. This android dialog fragment uses in Activity and opens on button click.
So Let’s Start How To open a DialogFragment in activity Android tutorial.
- How to Create a Dialog Fragment.
- How to open a DialogFregent in Activity.
- How to Paresh value Activity to Fragment.
- How to get value in a fragment.
- How to Post Data to server Using Rest API in Fragment.
Step 1: Create an Android Project with empty Activity.
First of creating an android project with an empty activity. if you have already created a project you can create a fragment and add these codes in your fragment.
Step 2: Create a Fragment and Open your java and XML file add these codes.
public class Resourse_Share extends DialogFragment implements View.OnClickListener{ public static final String KEY_UserEmail = "email";//database key public static final String KEY_resourceId= "resourceId"; public static final String KEY_phoneNumber = "phoneNumber"; public static final String KEY_Username="name"; EditText Email,Mobile,UserName; Button JoinBtn; TextView Close_Popup; String Token="" ; String EventId; private String username; private String useremail; private String mobile; public Resourse_Share() { // Required empty public constructor } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View rootView= inflater.inflate(R.layout.fragment_resourse__share, container, false); getDialog().setCanceledOnTouchOutside(false); SessionManagement sessionManagement= new SessionManagement(); Token= sessionManagement.getSavedToken(getActivity()); EventId = getArguments().getString("id");; JoinBtn =(Button)rootView.findViewById(R.id.Share_UpBtn); UserName = (EditText)rootView.findViewById(R.id.Share_editName); Email=(EditText)rootView.findViewById(R.id.Share_editemail); Mobile=(EditText)rootView.findViewById(R.id.Share_Mobile); Close_Popup = (TextView)rootView.findViewById(R.id.Close_Popup_Share); Close_Popup.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dismiss(); } }); JoinBtn.setOnClickListener(this); return rootView; } public void Share_Resource(){ final ProgressDialog loading = new ProgressDialog(getActivity()); loading.setMessage("Please Wait..."); loading.setCanceledOnTouchOutside(false); loading.show(); HashMap<String, String> params = new HashMap<String, String>(); params.put(KEY_UserEmail,useremail); params.put(KEY_Username,username); params.put(KEY_phoneNumber,mobile); params.put(KEY_resourceId,EventId); JSONObject jsonObject = new JSONObject(params); // Enter the correct url for your api service site RetryPolicy mRetryPolicy = new DefaultRetryPolicy(0, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT); JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, ConfiURL.Resource_Download_URL, jsonObject, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { // Toast.makeText(Login_screen.this,"String Response : "+ response.toString(),Toast.LENGTH_LONG).show(); try { Log.d("JSON", String.valueOf(response)); loading.dismiss(); String Error = response.getString("httpStatus"); if (Error.equals("")||Error.equals(null)){ }else if(Error.equals("ACCEPTED")){ Toast.makeText(getActivity(),"The Post has been shred on the given email Address",Toast.LENGTH_LONG).show(); dismiss(); }else { } } catch (JSONException e) { e.printStackTrace(); loading.dismiss(); } // resultTextView.setText("String Response : "+ response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { loading.dismiss(); VolleyLog.d("Error", "Error: " + error.getMessage()); Toast.makeText(getActivity(), "" + error.getMessage(), Toast.LENGTH_SHORT).show(); } }) { @Override public String getBodyContentType() { return "application/json; charset=utf-8"; } @Override public Map<String, String> getHeaders() throws AuthFailureError { HashMap<String, String> headers = new HashMap<String, String>(); headers.put("Authorization", Token); return headers; } }; RequestQueue requestQueue = Volley.newRequestQueue(getActivity()); jsonObjectRequest.setRetryPolicy(mRetryPolicy); requestQueue.add(jsonObjectRequest); } @Override public void onClick(View v) { String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+"; useremail = Email.getText().toString().trim(); username = UserName.getText().toString().trim(); mobile =Mobile.getText().toString().trim(); if(username.equals("") || username.equals(null)) { UserName.setError("Full name can't be empty"); return; } else if (useremail.equals("") || useremail.equals(null)||!useremail.matches(emailPattern)) { Email.setError("Email address can't be empty"); return; } else{ if (AppStatus.getInstance(getActivity()).isOnline()) { Share_Resource(); // Toast.makeText(this,"You are online!!!!",Toast.LENGTH_LONG).show(); } else { ContextThemeWrapper ctw = new ContextThemeWrapper( getActivity(), R.style.Theme_AlertDialog); final android.app.AlertDialog.Builder alertDialogBuilder = new android.app.AlertDialog.Builder(ctw); alertDialogBuilder.setTitle("No internet connection"); alertDialogBuilder.setMessage("Check your internet connection or try again"); alertDialogBuilder.setNegativeButton("Setting", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0); } }); alertDialogBuilder.setPositiveButton("ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { } }); alertDialogBuilder.show(); } } } }
Step 3: Add this code to your Fragment XML file Source Code.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:layout_gravity="center" android:minHeight="350dp" android:minWidth="320dp" android:padding="10dp" android:gravity="center" tools:context=".Fragments.Resourse_Share"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:padding="10dp" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:padding="10dp" android:layout_weight="1" android:textStyle="bold" android:textAppearance="@style/heading" android:text="SHARE"/> <TextView android:id="@+id/Close_Popup_Share" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:padding="10dp" android:drawableTint="@color/Black" android:layout_gravity="right" android:drawableLeft="@drawable/baseline_clear_24" android:textStyle="bold" android:textAppearance="@style/heading" android:text=""/> </LinearLayout> <EditText android:id="@+id/Share_editName" android:layout_width="match_parent" android:layout_height="50dp" android:singleLine="true" android:paddingLeft="15dp" android:layout_marginTop="20dp" android:textColorHint="@color/Black" android:hint="Name (Required)" android:background="@drawable/edit_text" android:inputType="textEmailAddress" android:textColor="@color/BlueDark" /> <EditText android:id="@+id/Share_editemail" android:layout_width="match_parent" android:layout_height="50dp" android:singleLine="true" android:paddingLeft="10dp" android:layout_marginTop="20dp" android:textColorHint="@color/Black" android:background="@drawable/edit_text" android:hint="Email Address (Required)" android:inputType="textEmailAddress" android:textColor="@color/Black" /> <EditText android:id="@+id/Share_Mobile" android:layout_width="match_parent" android:layout_height="50dp" android:singleLine="true" android:layout_marginTop="20dp" android:background="@drawable/edit_text" android:paddingLeft="10dp" android:textColorHint="@color/Black" android:hint="Phone Number (optional)" android:inputType="number" android:maxLength="10" android:textColor="@color/Black" /> <Button android:id="@+id/Share_UpBtn" android:layout_width="match_parent" android:layout_height="40dp" android:gravity="center" android:layout_marginTop="20dp" android:layout_gravity="center" android:background="@drawable/button" android:text="Send" android:textAppearance="?android:textAppearanceMedium" android:textStyle="bold" android:textColor="@color/White"/> </LinearLayout>> </LinearLayout>
Step 4: Add these code In your activity button click whare open DialogFragment.
public class Blog_Details extends AppCompatActivity { Button Share_BlogBtn; FragmentManager fm = getSupportFragmentManager(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); supportRequestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); setContentView(R.layout.activity_blog__details); Share_BlogBtn = (Button)findViewById(R.id.Share_BlogBtn); Share_BlogBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle bundle = new Bundle(); bundle.putString("id",Blog_Id); Resourse_Share resourse_share=new Resourse_Share(); resourse_share.show(fm, "Dialog Fragment"); resourse_share.setArguments(bundle); } }); }