如何在用户点击按钮时创建图像按钮。我尝试了不同的解决方案但没有帮助。
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
OnClickListener oclBtnOK =new OnClickListener(){
public void onClick(View V) {
getImageButton();
}
private void getImageButton() {
ImageButton imgbtn = new ImageButton(null, null);
imgbtn.getContext();
}
};
button1.setOnClickListener(oclBtnOK);
}
答案 0 :(得分:0)
您可以通过多种方式解决此问题(如果我理解您的问题......)
您可以直接在xml布局中添加imageView,并将其可见性设置为GONE。然后,在您的点击监听器中,您可以执行
findViewById(R.id.your_image_button).setVisibility(View.VISIBLE);
或者你就像你一样创建一个新的ImageButton,但是你必须将它添加到你的布局中(假设你的活动的主要布局是一个名为main_layout的LinearLayout):
((LinearLayout)findViewById(R.id.main_layout)).addView(imgbtn);
答案 1 :(得分:0)
如果您想以编程方式执行此操作
LayoutParams params;
LinearLayout mainLayout;
Button but;
ImageButton iBut;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mainLayout = new LinearLayout(this);
but = new Button(this);
iBut=new ImageButton(this);
params = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
mainLayout.addView(but, params);
but.setText("Click Me");
but.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mainLayout.addView(iBut, params);
setContentView(mainLayout);
}
});
setContentView(mainLayout);
}