【发布时间】:2014-11-10 17:17:24
【问题描述】:
我有一个 Theme = Theme.Dialog 的活动!
在 onCreate() 方法中,我以编程方式创建一个视图并将其添加到由具有 id 的 RelativeLayout 组成的布局中:myLayout!比如:
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!
我试图将循环放入一个线程中..类似于:
runOnUiThread(new Runnable(){
for(i=0; i<50; i++){
Button myButton = new Button(this);
//add LayoutParameters her
myLayout.add(myButton, LayoutParameters);
}
});
但即使我在线程上运行它,他也只会显示对话框,直到一切都完成......
我的问题是:如何尽快在屏幕上查看对话框,并在运行时将视图动态添加到对话框中。
希望你们明白我的意思。
更新:
这是 Activity 的样式..
<style name="dialog_style" parent="@android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
在 Manifest 文件中,我将此样式添加到活动中:
android:theme="@style/dialog_style"
【问题讨论】:
标签: android runtime dynamically-generated