Android 自定义对话框未显示
Android custom dialog not displayed
我想通过显示自定义对话框在用户收到消息后立即通知他们。我有一个对话框的自定义布局并这样引用它:
builder = new AlertDialog.Builder(this);
dia = builder.create();
builder = new AlertDialog.Builder(MapActivity.this); //builder = alertbuilder object
LayoutInflater inflater = getLayoutInflater();
View dialoglayout = inflater.inflate(R.layout.dialog_layout, null);
builder.setView(dialoglayout);
builder.setTitle("REQUEST");
builder.setMessage("Would you like to accept it?");
//builder.show();
dia.show(); //dia = dialog object
spRequest.play(spSoundId, 1, 1, 1, 15, 1);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
dia.cancel();
}
}, 7000);
我想播放一个音色池并显示对话 7 分钟然后停止。但是 soundpool 播放但不播放对话,而是屏幕黑了 7 分钟。我怎样才能使这项工作?
嗨,我是初学者,但我认为您在 LayoutInflater 行中遇到了一个命令。
尝试添加 getActivity() 它需要看起来像这样。
LayoutInflater inflater = getActivity().getLayoutInflater();
希望对你有所帮助
已解决:我正在使用空构建器创建对话框。顺序是在将构建器对象分配给对话框对象之前,构建器对象应该填充自定义布局和所有你想要的东西,否则对话框将显示但它将是空白的。这是适合像我一样受苦的人的正确代码:)
builder = new AlertDialog.Builder(MapActivity.this);
LayoutInflater inflater = getLayoutInflater();
View dialoglayout = inflater.inflate(R.layout.dialog_layout, null);
builder.setView(dialoglayout);
builder.setTitle("REQUEST");
builder.setMessage("Would you like to accept?");
dia = builder.create();
//builder.show();
dia.show();
spRequest.play(spSoundId, 1, 1, 1, 15, 1);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
dia.dismiss();
}
}, 7000); //the alert will play for 7 seconds and stop
我想通过显示自定义对话框在用户收到消息后立即通知他们。我有一个对话框的自定义布局并这样引用它:
builder = new AlertDialog.Builder(this);
dia = builder.create();
builder = new AlertDialog.Builder(MapActivity.this); //builder = alertbuilder object
LayoutInflater inflater = getLayoutInflater();
View dialoglayout = inflater.inflate(R.layout.dialog_layout, null);
builder.setView(dialoglayout);
builder.setTitle("REQUEST");
builder.setMessage("Would you like to accept it?");
//builder.show();
dia.show(); //dia = dialog object
spRequest.play(spSoundId, 1, 1, 1, 15, 1);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
dia.cancel();
}
}, 7000);
我想播放一个音色池并显示对话 7 分钟然后停止。但是 soundpool 播放但不播放对话,而是屏幕黑了 7 分钟。我怎样才能使这项工作?
嗨,我是初学者,但我认为您在 LayoutInflater 行中遇到了一个命令。 尝试添加 getActivity() 它需要看起来像这样。
LayoutInflater inflater = getActivity().getLayoutInflater();
希望对你有所帮助
已解决:我正在使用空构建器创建对话框。顺序是在将构建器对象分配给对话框对象之前,构建器对象应该填充自定义布局和所有你想要的东西,否则对话框将显示但它将是空白的。这是适合像我一样受苦的人的正确代码:)
builder = new AlertDialog.Builder(MapActivity.this);
LayoutInflater inflater = getLayoutInflater();
View dialoglayout = inflater.inflate(R.layout.dialog_layout, null);
builder.setView(dialoglayout);
builder.setTitle("REQUEST");
builder.setMessage("Would you like to accept?");
dia = builder.create();
//builder.show();
dia.show();
spRequest.play(spSoundId, 1, 1, 1, 15, 1);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
dia.dismiss();
}
}, 7000); //the alert will play for 7 seconds and stop