Я задал еще один вопрос о пользовательском AlertDialog здесь .
Затем я щелкнул свой путь к этому пользовательскому AlertDialog (найдено здесь ):
import android.app.AlertDialog;
import android.content.Context;
import android.webkit.WebView;
/**
* Display a simple about dialog.
*/
public class AboutDialog extends AlertDialog {
protected AboutDialog(Context context) {
super(context);
setContentView(R.layout.about_dialog);
setTitle(R.string.about_title);
setCancelable(true);
WebView webView = (WebView) findViewById(R.id.webview);
webView.loadData("Written by Cédric Beust (<a href=\"mailto:cedric@beust.com\">cedric@beust.com)", "text/html", "utf-8");
}
}
Я изменил это так:
import android.app.AlertDialog;
import android.content.Context;
import android.webkit.WebView;
/**
* Display a simple about dialog.
*/
public class AboutDialog extends AlertDialog {
protected AboutDialog(Context context) {
super(context);
setTitle("Test");
setCancelable(true);
setContentView(R.layout.paus);
}
}
, а затем попытался использовать его, например:
AboutDialog ad = new AboutDialog(getApplicationContext());
ad.show();
Но я получаю эту ошибку:
android.util.AndroidRuntimeException: requestFeature() must be called before adding content
at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:181)
at com.android.internal.app.AlertController.installContent(AlertController.java:206)
at android.app.AlertDialog.onCreate(AlertDialog.java:251)
at android.app.Dialog.dispatchOnCreate(Dialog.java:307)
at android.app.Dialog.show(Dialog.java:225)
at TestPackage.MainActivity$5.onClick(MainActivity.java:382)
at android.view.View.performClick(View.java:2538)
etc...
Так что я хотел бы знать, почему это происходит.
===================== РЕДАКТИРОВАТЬ ========================== 0
Согласно приведенным ниже советам, я изменил код так, чтобы он выглядел следующим образом:
import android.app.AlertDialog;
import android.content.Context;
import android.os.Bundle;
import android.webkit.WebView;
/**
* Display a simple about dialog.
*/
public class AboutDialog extends AlertDialog {
protected AboutDialog(Context context) {
super(context);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.paus);
}
}
Но вместо этого я получаю BadTokenException .