2011-10-25 75 views
0

查看各種示例,下面是將視圖添加到佈局的正確方法。但是,沒有任何東西顯示給我。我假設它與佈局選項有關,但我是新的,所以我不知道缺少什麼。以編程方式將按鈕添加到佈局但未出現

public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.songs_layout); 
      LinearLayout layout = (LinearLayout) View.inflate(this, R.layout.songs_layout, null); 

      Button myButton = new Button(this); 
      myButton.setText("Change View"); 
      myButton.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
      layout.addView(myButton); 


     } 

回答

1

layout變量是不一樣的,你在setContentView使用的佈局。嘗試在layout.addView(myButton);之後撥打setContentView(layout);並刪除之前的呼叫(setContentView(R.layout.songs_layout);)。

更清楚,你的onCreate方法應該看起來像

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    LinearLayout layout = (LinearLayout) View.inflate(this, R.layout.songs_layout, null); 

    Button myButton = new Button(this); 
    myButton.setText("Change View"); 
    myButton.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
    layout.addView(myButton); 
    setContentView(layout); 
} 
0

你不是按鈕設置畫面上顯示的佈局。你正在擴大一個新的佈局,並將按鈕添加到該佈局。將setContentView()移至layout.addView(myButton)之後,然後將其更改爲setContentView(layout)

相關問題