我有一个弹出式对话框,需要在活动开始时显示。要在启动时启动弹出窗口,我将其放在 onStart()上。这工作正常,但它在弹出对话框中显示空白标题。要删除它,我尝试了dialog.requestWindowFeature(dialog.getWindow().FEATURE_NO_TITLE);
但这个获取和运行时异常。下面是OnStart()方法:
@Override
protected void onStart()
{
super.onStart();
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.popup_layout);
dialog.requestWindowFeature(dialog.getWindow().FEATURE_NO_TITLE);
Button mYes = (Button) dialog.findViewById(R.id.button1);
Button mNo = (Button) dialog.findViewById(R.id.button2);
mYes.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "msg1", Toast.LENGTH_LONG).show();
finish();
}
});
mMoveToWallet.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "msg2", Toast.LENGTH_LONG).show();
dialog.cancel();
}
});
dialog.show();
}
例外: android.util.AndroidRuntimeException: requestFeature must be called before adding to the content.
请帮帮我。
提前谢谢。
答案 0 :(得分:1)
尝试使用此对话框
final Dialog dialog = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar);
删除此
dialog.requestWindowFeature(dialog.getWindow().FEATURE_NO_TITLE);
<强>更新强>
尝试此风格
final Dialog dialog = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
更新2:
将以下样式添加到style.xml并在对话框声明中使用它
<style name="NoTitleDialog" parent="android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
这是正确的,因为它扩展了android的Theme.Dialog风格。
答案 1 :(得分:0)
试试这段代码,
requestWindowFeature(Window.FEATURE_NO_TITLE);
答案 2 :(得分:0)
dialog.requestWindowFeature(dialog.getWindow().FEATURE_NO_TITLE);
将此行保留在setContentView方法之前。