解析XML后没有显示按钮
问题描述:
我有一个从Activity类派生的XML解析器,它解析XML中的Button。 如果我使用Android Button API创建Button,它将显示在活动中。但是当我创建自己的类来获取按钮属性并从该类显示按钮时,它不会显示。这是我创建的自己的类扩展LinearLayout,无法显示。解析XML后没有显示按钮
我使用必需参数调用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));
}
我应该怎么做才能在活动上显示此按钮?请帮我解决这个问题。
答
更换你的构造
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)
和波纹管
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);
}
提到设置你的onCreate方法你的setContentView(新GuiButton(...))?或者你的线性布局是子视图?在后一种情况下,可能问题在GuiButton的LayoutParams(不是btn) –