2011-10-18 53 views
0

我创建一个基于选项卡的应用程序,这是在原型阶段。我已经创建了显示基本内容(如在Android文档描述)所需的标签。现在,我想几个按钮添加到活动之一,然而,实例化一个新的按钮可创建一个运行时异常:添加一个按钮到活动导致运行时异常

public class HomeActivity extends Activity { 

    private Button menuBTN = new Button(this); 


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

     TextView textview = new TextView(this); 
     textview.setText("This is the main application entry, and home screen"); 
     this.setContentView(textview); 

     this.getMenuBTN().setText("Menu"); 


//  this.addContentView(this.getMenuBTN(), new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    } 

如果我没有在所有创建按钮,基本的应用程序正常启动。

+0

什么是你想怎么办?将textview和按钮添加到屏幕?如果是这样,请使用布局来适应这两个视图。 \ nAnyway,请不要把创建按钮在上面**的onCreate()之前**。使用**这**只配备后**的onCreate()** – PH7

回答

2

你应该编程定义按钮的布局,但我会建议您在XML定义它,然后指向它通过:

menuBTN = (Button)findViewByID(R.id.your_menubutton_id_in_xml); 

然后,您将需要的setContentView()到XML布局,其中的按钮是。

setContentView(R.layout.your_layout_xml); 
+0

你,但现在这仅仅是一个快速原型证明是权力。 –

+0

关于这一点,我在哪里能找到的分离布局到单独的XML文件中一个很好的资源? –

2

这一点,坏线:内

private Button menuBTN; 

然后创建您可以拨打:

private Button menuBTN = new Button(this); 

你应该这样做,而不是

menuBTN = new Button(this); 

活动还没有准备好在onCreate被调用之前使用,所以你不应该在该点之前引用它。