I have a Tabbed Activity, In Tab2.Java, I want to show a Custom Dialog on a Button Click. (For Custom Dialog, I have a separate xml file named: dg_selct.xml.) Code:
public class Tab2 extends Fragment {
Button btn;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.tab2, container, false);
btn=(Button)v.findViewById(R.id.button2);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final AlertDialog.Builder dialog = new AlertDialog.Builder(getContext());
View bView = getLayoutInflater().inflate(R.layout.dg_selct,null);
dialog.setView(bView);
AlertDialog customDialog = dialog.create();
customDialog.setTitle("Search");
customDialog.show();
}
});
Here is dg_selct.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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">
<RelativeLayout
android:id="@+id/relativeLayout2"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0">
<CheckBox
android:id="@+id/chkpg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/textView4"
android:layout_marginStart="63dp"
android:layout_marginTop="27dp"
android:checked="true"
android:text="@string/clspg"
android:textSize="23sp" />
<TextView
android:id="@+id/textView4"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="40dp"
android:layout_marginTop="42dp"
android:text="Mark the Groups, You want to Send the Message:"
android:textColor="#000000"
android:textSize="17sp" />
<CheckBox
android:id="@+id/chknur"
android:checked="true"
android:textSize="23sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/chkpg"
android:layout_below="@+id/chkpg"
android:layout_marginTop="32dp"
android:text="@string/clsn" />
<CheckBox
android:id="@+id/chkprep"
android:checked="true"
android:textSize="23sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/chknur"
android:layout_below="@+id/chknur"
android:layout_marginTop="30dp"
android:text="@string/clsp" />
<CheckBox
android:id="@+id/chkone"
android:checked="true"
android:textSize="23sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/chkprep"
android:layout_below="@+id/chkprep"
android:layout_marginTop="35dp"
android:text="@string/cls1" />
<CheckBox
android:checked="true"
android:id="@+id/chktwo"
android:textSize="23sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/chkone"
android:layout_below="@+id/chkone"
android:layout_marginTop="24dp"
android:text="@string/cls2" />
<CheckBox
android:id="@+id/chkthree"
android:checked="true"
android:textSize="23sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/chktwo"
android:layout_below="@+id/chktwo"
android:layout_marginTop="26dp"
android:text="@string/cls3" />
<CheckBox
android:id="@+id/chkfour"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/chkthree"
android:layout_below="@+id/chkthree"
android:checked="true"
android:layout_marginTop="30dp"
android:text="@string/cls4"
android:textSize="23sp" />
<CheckBox
android:id="@+id/chkfive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/chknur"
android:layout_alignEnd="@+id/textView4"
android:layout_marginEnd="32dp"
android:checked="true"
android:text="@string/cls5"
android:textSize="23sp" />
<CheckBox
android:id="@+id/chksix"
android:textSize="23sp"
android:checked="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/chkfive"
android:layout_alignTop="@+id/chknur"
android:text="@string/cls6" />
<CheckBox
android:id="@+id/chksvn"
android:checked="true"
android:textSize="23sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/chksix"
android:layout_alignTop="@+id/chkprep"
android:text="@string/cls7" />
<CheckBox
android:id="@+id/chknine"
android:textSize="23sp"
android:checked="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/chksvn"
android:layout_alignTop="@+id/chkone"
android:text="@string/cls9" />
<CheckBox
android:id="@+id/chkten"
android:textSize="23sp"
android:checked="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/chknine"
android:layout_alignTop="@+id/chktwo"
android:text="@string/cls10" />
<CheckBox
android:id="@+id/chkextra"
android:checked="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/chkten"
android:layout_alignTop="@+id/chkthree"
android:text="@string/clsextra"
android:textSize="23sp" />
</RelativeLayout>
</android.support.constraint.ConstraintLayout>
Also, When I use final AlertDialog.Builder dialog = new AlertDialog.Builder(Tab2.this);
instead of final AlertDialog.Builder dialog = new AlertDialog.Builder(getContext());
, Compiler gives an error: "Builder (android.Content.context) in Builder cannot be applied to com.abc.Tab2"
dg_select.xml has some CheckBoxes and a TextView. But When Dialog is shown, I only see the title as mentioned in above Code. How do I inflate the dg_selct.xml in this Dialog?
try this use Dialog
instead of AlertDialog
Dialog dialog = new Dialog(getActivity());
dialog.setContentView(R.layout.dg_selct);
// to bind your control from dialog like this
final TextView textView= (TextView) dialog.findViewById(R.id.YourTextBiew);
final CheckBox checkBox= (CheckBox) dialog.findViewById(R.id.YourCheckBox);
final Button btnShow = (Button) findViewById(R.id.btnShow);
textView.setText("PREM");
dialog.setTitle("Search");
dialog.show();
UPDATE
change Your
RelativeLayout
hight & width tomatch_parent
ORwrap_content
like below code
<RelativeLayout
android:id="@+id/relativeLayout2"
android:layout_width="match_parent"
android:layout_height="match_parent">