2011-10-25 20 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)に変更します。

関連する問題