我有一个Theme = Theme.Dialog!
的活动在onCreate()方法中,我以编程方式创建一个视图并将其添加到布局中,该布局由一个具有id:myLayout的RelativeLayout组成!类似的东西:
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.myCustomizedLayout);
RelativeLayout myLayout = (RelativeLayout) findViewById(R.id.myLayout);
Button mybutton = new Button(this);
//set RelativeLayout.LayoutParams here
myLayout.add(mybutton, my RelativeLayout.LayoutParams);
}
我提到当我添加一个但不是50个按钮时,他没有在屏幕上显示对话框,直到所有50个按钮都被创建并添加到myLayout ...
我不明白这一点,因为我在开始循环之前设置了contentView!
我试图将Loop放入一个Thread..somelike:
runOnUiThread(new Runnable(){
for(i=0; i<50; i++){
Button myButton = new Button(this);
//add LayoutParameters her
myLayout.add(myButton, LayoutParameters);
}
});
但是,即使我在线程上运行它,他只会显示对话框直到所有内容都完成...
我的问题是:如何尽快查看屏幕上的对话框,并在运行时动态地将视图添加到Dialog中。
我希望你们明白我的意思。
更新
这是活动的风格..
<style name="dialog_style" parent="@android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
并在Manifest文件中,我将此样式添加到活动:
android:theme="@style/dialog_style"
答案 0 :(得分:0)
创建一个方法createDialog()并在mainactivity.java oncreate方法中调用它
private void createDialog(){
AlertDialog.Builder dialog = new AlertDialog.Builder(
MainActivity.this);
dialog.setTitle("APP NAME");
dialog.setMessage("Do you want to quit?");
dialog.setIcon(R.drawable.ic_launcher);
dialog.setPositiveButton("NO",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
dialog.setNegativeButton("YES",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
dialog.cancel();
}
});
dialog.show();
}