我最近切换到 AndEngine 来玩这个引擎。在切换之前,我已经实现了一个DialogFragment
工作得很好。现在我想把它“移植”DialogFragment
到AndEngine。因为在 AndEngine 中不支持 FragmentActivity(据我所知),我决定将我的代码改为简单的Dialog
。现在对话框打开得很好,但完全空白。只是一个带边框的黑色小矩形。
我看不出我的代码有什么问题……也许你可以帮忙。
public class SimpleDialog extends Dialog {
final long number;
Context context;
public SimpleDialog (Context context, long number) {
super(context);
this.number = number;
this.context = context;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
LayoutInflater inflater = ResourceManager.getInstance().activity.getLayoutInflater();
final View view = inflater.inflate(R.layout.logindialog, null);
final EditText editTextUserName = (EditText) view.findViewById(R.id.usernameToSubmit);
final EditText editTextPassword = (EditText) view.findViewById(R.id.passwordToSubmit);
TextView numberText = (TextView) view.findViewById(R.id.numberText);
highscoreText.setText("Number: " + Long.toString(number));
builder.setView(view)
.setNegativeButton(R.string.login_submit, null)
.setPositiveButton(R.string.login_abort, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dismiss();
}
});
final AlertDialog d = builder.create();
d.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
Button b = d.getButton(AlertDialog.BUTTON_NEGATIVE);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
});
}
这就是我打开对话框的方式:
ResourceManager.getInstance().activity.runOnUiThread(new Runnable() {
@Override
public void run() {
new SimpleDialog(ResourceManager.getInstance().activity, number).show();
}
});
如果您还需要我的布局,请告诉我。非常感谢!