使用Java代码向main_activity视图添加一个按钮

时间:2013-09-26 18:35:07

标签: android

我想使用java代码向Button视图添加main_activity,那么我该怎么做呢? 我已经尝试过这段代码,不幸的是它无效

public class MainActivity extends Activity {

    Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        RelativeLayout l1 = ((RelativeLayout)this.findViewById(R.id.view1));
        btn = new Button(this);
        btn.setText(R.string.hello_world);
        l1.addView(btn);
        setContentView(l1);
    }
}

1 个答案:

答案 0 :(得分:2)

正如艾哈迈德所说,“在设置contentView之前,你无法调用findViewById”。这是因为您Views中存在layout,因此您需要通知layout才能找到id。请先setContentView()致电layout其中包含view。然后,您可以找到view并将Button添加到其中。

   @Override
   protected void onCreate(Bundle savedInstanceState) 
   {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.your_layout);
        RelativeLayout l1 = (RelativeLayout) findViewById(R.id.view1);
        btn = new Button(this);
        btn.setText(R.string.hello_world);
        l1.addView(btn);
   }