Android Popup window accept , retrieve and save data to SQLite
1. Create Activity
2. Add 1 Button
![]() |
| Create this XML file in layout Layout/popup.xml |
popup.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="New Diet Plan" android:id="@+id/textView14" android:textStyle="bold" android:layout_marginBottom="42dp" android:layout_above="@+id/edtTimeANDP" android:layout_alignLeft="@+id/edtTimeANDP" android:layout_alignStart="@+id/edtTimeANDP" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="text" android:ems="10" android:id="@+id/edtTimeANDP" android:hint="Enter the time" android:layout_above="@+id/edtMenuANDP" android:layout_alignRight="@+id/btnClearANDP" android:layout_alignEnd="@+id/btnClearANDP" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textMultiLine" android:ems="10" android:minLines="3" android:maxLines="3" android:id="@+id/edtMenuANDP" android:hint="Enter the menu details here..." android:layout_centerVertical="true" android:layout_alignLeft="@+id/edtRemarkANDP" android:layout_alignStart="@+id/edtRemarkANDP" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textMultiLine" android:ems="10" android:minLines="2" android:maxLines="2" android:id="@+id/edtRemarkANDP" android:hint="Remark about the above menu..." android:layout_marginTop="17dp" android:layout_below="@+id/edtMenuANDP" android:layout_centerHorizontal="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Clear" android:id="@+id/btnClearANDP" android:layout_below="@+id/edtRemarkANDP" android:layout_alignRight="@+id/edtRemarkANDP" android:layout_alignEnd="@+id/edtRemarkANDP" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" ADD " android:id="@+id/btnAddANDP" android:layout_alignBaseline="@+id/btnClearANDP" android:layout_alignBottom="@+id/btnClearANDP" android:layout_alignLeft="@+id/edtRemarkANDP" android:layout_alignStart="@+id/edtRemarkANDP" /> <requestFocus android:layout_below="@+id/textView14" android:layout_alignRight="@+id/textView14" android:layout_alignEnd="@+id/textView14" /> <ImageButton android:layout_width="40dp" android:layout_height="40dp" android:id="@+id/btnCancelANDP" android:scaleType="fitXY" android:baselineAlignBottom="true" android:background="@drawable/ic_cancel_black_24dp" android:layout_alignTop="@+id/textView14" android:layout_alignRight="@+id/edtTimeANDP" android:layout_alignEnd="@+id/edtTimeANDP" /> </RelativeLayout>
Popup.java
import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.widget.AbsListView; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import android.widget.PopupWindow; import android.widget.Toast; //-------------------------------------------------------------------------------------public class Practice extends AppCompatActivity { Button btnShowPopup; EditText edtTime,edtMenu,edtRemark; Button btnAdd,btnClear; String time,menu,remark; DBConnection con; //------------------------------------------------------------------------------------- @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_practice); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); con =new DBConnection(getBaseContext()); btnShowPopup =(Button)findViewById(R.id.btnShowPopup); btnShowPopup.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showPopup(); } }); // end of btnShowPopup Onclick Listener } // End of onCreate Method //------------------------------------------------------------------------------- private void showPopup() { LayoutInflater layoutInflater=(LayoutInflater)getBaseContext() .getSystemService(LAYOUT_INFLATER_SERVICE); final View popupView=layoutInflater.inflate(R.layout.popup,null); final PopupWindow popupWindow=new PopupWindow(popupView,AbsListView.LayoutParams.WRAP_CONTENT, AbsListView.LayoutParams.MATCH_PARENT,true); popupWindow.setTouchable(true); popupWindow.setFocusable(true); popupWindow.showAtLocation(popupView, Gravity.CENTER,25,150); edtTime=(EditText)popupView.findViewById(R.id.edtTimeANDP); edtMenu=(EditText)popupView.findViewById(R.id.edtMenuANDP); edtRemark=(EditText)popupView.findViewById(R.id.edtRemarkANDP); //------------------------------------------------------------------------------------- //Handles Clear button click event//------------------------------------------------------------------------------------- ((Button)popupView.findViewById(R.id.btnClearANDP)) .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { clearAllFields(); } }); //------------------------------------------------------------------------------------- //Handles Add button click event//------------------------------------------------------------------------------------- btnAdd=(Button)popupView.findViewById(R.id.btnAddANDP); btnAdd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { time = edtTime.getText().toString(); menu = edtMenu.getText().toString(); remark = edtRemark.getText().toString(); if (edtTime.getText().toString().equalsIgnoreCase("'")) { Toast.makeText(getBaseContext(), "Please enter \n TIME for menu ", Toast.LENGTH_LONG).show(); edtTime.requestFocus(); } else if (edtMenu.getText().toString().equalsIgnoreCase("'")) { Toast.makeText(getApplicationContext(), "Menu field can \n NOt be blank", Toast.LENGTH_LONG).show(); edtMenu.requestFocus(); } else if (edtRemark.getText().toString().equalsIgnoreCase("")) { Toast.makeText(getApplicationContext(), "Remark Field \n Can NOt be blank", Toast.LENGTH_SHORT).show(); edtRemark.requestFocus(); } else { con.insertIntoDietPlans(time, menu, remark); //con.CloseDB(); Toast.makeText(getApplicationContext(), "Diet Plan Addedd Successfully.", Toast.LENGTH_LONG).show(); clearAllFields(); }//end of else }//end of try block catch (Exception ex) { ex.printStackTrace(); Toast.makeText(getApplicationContext(),ex.getMessage().toString() + "\n",Toast.LENGTH_LONG).show(); }//end of catch }//end of public void onClick }); // End of btnAdd.setOnClickLestener//------------------------------------------------------------------------------------- //Handles Cancel button click event ((ImageButton)popupView.findViewById(R.id.btnCancelANDP)) .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { popupWindow.dismiss(); } }); //------------------------------------------------------------------------------------- }//end of showPopup Method//------------------------------------------------------------------------------------- private void clearAllFields() { edtTime.setText(""); edtMenu.setText(""); edtRemark.setText(""); edtTime.requestFocus(); }//End of Clear all fields //------------------------------------------------------------------------------------- }//End of Class
#Nitin tekale
ni3tekale143@gmail.com


No comments:
Post a Comment