我希望有人可以帮助我,我正在尝试显示自定义对话框但是当我点击调用此方法的按钮时,会出现灰色屏幕,就像显示自定义对话框但没有显示任何内容XML。
问题是前几天它有效,但我没有触及任何东西,现在它不起作用。 我试图清理项目并将其删除,删除应用程序并再次安装。 测试应用程序以查看某个对象是否为空,但显示如果有效,但不显示xml。
JavaFile
private void NegativeAlertDialog()
{
LayoutInflater inflater = getLayoutInflater();
View dialoglayout = inflater.inflate(R.layout.my_alert_dialog, (ViewGroup) getCurrentFocus());
AlertDialog.Builder builderNegative = new AlertDialog.Builder(this);
builderNegative.setCancelable(false);
final AlertDialog alertNegative = builderNegative.create();
Button buttonSaturation = (Button)dialoglayout.findViewById(R.id.buttonSaturation);
buttonSaturation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertNegative.dismiss();
sendRefuseServiceOptionSaturation(Global.urlServer);
}
});
Button buttonNoZone = (Button)dialoglayout.findViewById(R.id.buttonNoZone);
buttonNoZone.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertNegative.dismiss();
sendRefuseServiceOptionNotMyArea(Global.urlServer);
}
});
Button buttonLiquidity = (Button)dialoglayout.findViewById(R.id.buttonLiquidity);
buttonLiquidity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertNegative.dismiss();
sendRefuseServiceOptionLiquidityProblems(Global.urlServer);
}
});
Button buttonMyAlertDialogCancel = (Button)dialoglayout.findViewById(R.id.buttonMyAlertDialogCancel);
buttonMyAlertDialogCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertNegative.cancel();
rowSeleceted = -1;
}
});
builderNegative.setView(dialoglayout);
alertNegative.show();
}
xml.file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/buttonSaturation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/RefuseAssigned1" />
<Button
android:id="@+id/buttonNoZone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/RefuseAssigned2" />
<Button
android:id="@+id/buttonLiquidity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/RefuseAssigned3" />
<Button
android:id="@+id/buttonMyAlertDialogCancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/RefuseAssigned4" />
</LinearLayout>
答案 0 :(得分:1)
你必须致电
builderNegative.setView(dialoglayout)
在构建对话框之前
final AlertDialog alertNegative = builderNegative.create();
更改订单后,它会起作用!
答案 1 :(得分:0)
您尚未将View
添加到对话框中。你可以通过调用以下方法来实现。
builderNegative.setView(dialoglayout);
请注意,您可以使用null来扩充布局。