2012-05-05 189 views
0

所以我有2個XML佈局文件。
一個是菜單,另一個是應用程序。
因此,現在我在一個XML文件上有一些按鈕,另一個文件上有一些其他按鈕。按鈕setOnClickListener導致應用程序崩潰

所以此代碼的工作:

setContentView(R.layout.main); 
    start = (Button) findViewById(R.id.button1); 

    start.setOnClickListener(this); 

但是,如果我改變看法,並寫:

setContentView(R.layout.random); 
    add_person = (Button) findViewById(R.id.add); 

    add_person.setOnClickListener(this); //crash here 

應用崩潰!

+1

您可以發佈'random.xml'? – MByD

+0

當然,這個xml是由gui構建器通過eclipse創建的。 http://codeviewer.org/view/code:25c0 – Dennis

+0

改變按鈕的ID在xml和onclick方法中添加 – Akram

回答

3

add_person爲空,所以得到Nullpointer異常,你有Button中的random.xml添加爲id?

如果從項目 - >清潔清洗當前的項目後沒有再加入

<Button android:id="@+id/add" ... /> 
+0

是的,我上傳了評論中的XML。所以另一個按鈕也不起作用。它在xml和java類中也有正確的id – Dennis

0

嘗試。

,或者您可以使用的

(Button)random.findViewById(R.id.add); 

代替

(Button) findViewById(R.id.add); 
0

您應該實現類作爲onClickListner這樣的:

public class <ClassName> extends Activity implements OnClickListener{ 

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

      setContentView(R.layout.main); 
      start = (Button) findViewById(R.id.button1); 
      start.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View v) { 
      switch (v.getId()) { 
       case R.id.button1: 
        //Hear Yor Logic on Click Event. 
        break;  
      }   
    } 
}