2016-08-09 9 views
1

JavaからViewを動的に構築しようとしていますが、なぜこれが機能しないのか混乱しています。RelativeLayoutにTextViewが表示されない

TextView displayTextは、画面にまったく表示されません。なぜユーザーが名前を入力するのかわからない。

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     RelativeLayout ceriLayout = new RelativeLayout(this); 

     Button genButton = new Button(this); 
     genButton.setText("Press here"); 
     genButton.setId(0); 

     TextView displayView = new TextView(this); 
     displayView.setText("What is going to go here huh"); 
     displayView.setId(1); 

     EditText nameView = new EditText(this); 
     nameView.setText("Enter your name"); 
     nameView.setId(2); 

     RelativeLayout.LayoutParams button = new RelativeLayout.LayoutParams(
       RelativeLayout.LayoutParams.WRAP_CONTENT, 
       RelativeLayout.LayoutParams.WRAP_CONTENT 
     ); 

     RelativeLayout.LayoutParams name = new RelativeLayout.LayoutParams(
       RelativeLayout.LayoutParams.WRAP_CONTENT, 
       RelativeLayout.LayoutParams.WRAP_CONTENT 
     ); 
     RelativeLayout.LayoutParams display; 
     display = new RelativeLayout.LayoutParams(
       RelativeLayout.LayoutParams.WRAP_CONTENT, 
       RelativeLayout.LayoutParams.WRAP_CONTENT 
     ); 

     button.addRule(RelativeLayout.CENTER_HORIZONTAL); 
     button.addRule(RelativeLayout.CENTER_VERTICAL); 

     display.addRule(RelativeLayout.CENTER_HORIZONTAL); 
     display.addRule(RelativeLayout.ABOVE, nameView.getId()); 

     name.addRule(RelativeLayout.CENTER_HORIZONTAL); 
     name.addRule(RelativeLayout.ABOVE, genButton.getId()); 



     ceriLayout.addView(genButton, button); 
     ceriLayout.addView(nameView,name); 

     setContentView(ceriLayout); 

    } 
} 
+2

うわー、減速した男。コード全体のレイアウトをデザインしていますか? xmlファイルをレイアウトとして使用できることをご存知ですか? –

+0

'ceriLayout.addView(displayView ...'?どこですか? –

答えて

2

ceriLayoutdisplayViewを追加していません。だから、それが現れないのです。

アドバイス:.xmlレイアウトファイル内でごViewコンポーネントを書き学び、活動の内容ビューとして、これらのレイアウトを設定してみてください。

関連する問題