我正在使用 main.xml
将小部件添加到我的 Activity 中,但由于某些原因,我想以编程方式添加 imageView
,这是我的程序,
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.building_icon);
imageView.getLayoutParams().height = 100 ;
imageView.getLayoutParams().width = 100 ;
imageView.setBackgroundColor(Color.BLACK);
FrameLayout fl = new FrameLayout(this); // because I am working with frame layout
fl.addView(imageView);
}
我的imageView
没有出现,请问我错过了什么?
最佳答案
您已经创建了一个新的 FrameLayout
并将您的 ImageView
附加到它,但您的 FrameLayout
未附加到任何东西。
要引用 main.xml
中的一个,请执行以下操作:
FrameLayout fl = (FrameLayout) findViewById(R.id.my_frame_layout);
fl.addView(imageView);
它在 main.xml
中的定义如下:
<FrameLayout
android:id="@+id/my_frame_layout"
... />
关于android - 我的程序以编程方式添加 ImageView 有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20287217/