我有一个选项卡式活动,在Tab2中。Java语言
我想在点击按钮时显示一个自定义对话框。(对于自定义对话框,我有一个单独的xml文件,名为:
dg_选择。xml
.)
代码:
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();
}
});
这是
dg_选择。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>
此外,当我使用
final AlertDialog.Builder dialog = new AlertDialog.Builder(Tab2.this);
而不是
final AlertDialog.Builder dialog = new AlertDialog.Builder(getContext());
,编译器给出错误:
“生成器中的生成器(android.Content.context)不能应用于com.abc.Tab2”
dg_选择。xml
有一些复选框和文本视图。但当显示对话框时,我只看到上面代码中提到的标题。