我有一个XML解析器,它派生自Activity类,它从XML解析一个Button。 如果我使用Android Button API创建Button,它将显示在活动上。但是,当我创建自己的类来获取按钮属性并从该类显示按钮时,它不会显示。我正在创建的这个类扩展了LinearLayout并且无法显示。
我使用必需的参数调用GuiButton类的构造函数。 请找到以下代码。
public class GuiButton extends LinearLayout{
String label;
int type;
public String reqType;
public String context;
/**
* Network message for this button
*/
public String netMsg;
/**
* network image id for this button
*/
public String networkImageID;
public String id;
Button btn;
public GuiButton(Context cntxt,String label,int type,String requestType,String netImgID, String id,String context,int priority,int commandType) {
super(cntxt);
this.setOrientation(VERTICAL);
btn = new Button(cntxt);
btn.setText(label);
addView(btn,new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
}
我应该怎么做才能在Activity上显示此按钮?请帮我解决这个问题。
答案 0 :(得分:1)
替换你的构造函数
public GuiButton(Context cntxt,String label,int type,String requestType,String netImgID, String id,String context,int priority,int commandType)
与
public GuiButton(Context cntxt, String label)
并按照下面的描述设置你的onCreate方法
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout l = (LinearLayout)findViewById(R.id.linear);
GuiButton gb = new GuiButton(this,"Hello");
l.addView(gb);
}