解析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));    
} 

我应该怎么做才能在活动上显示此按钮?请帮我解决这个问题。

+0

提到设置你的onCreate方法你的setContentView(新GuiButton(...))?或者你的线性布局是子视图?在后一种情况下,可能问题在GuiButton的LayoutParams(不是btn) –

更换你的构造

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); 
}