0

我为我的但得到空指针异常创建了一个idin 。我不明白发生了什么,因为我没有收到任何语法错误。XMLLinearLayout

这是我的java代码

private OnClickListener onClick() {
       return new OnClickListener() {           
           public void onClick(View v) {
            System.out.println("layout 1");
            newBtnLayout();
            System.out.println("layout 2");
            System.out.println(newBtnLayout());
            nBtnLayoutList = (LinearLayout)findViewById
            (R.id.newBtnLayoutList);
            System.out.println("layout 3");
            nEntriesButton = (Button) findViewById(R.id.newEntriesBtn);
            System.out.println("layout 4");
            System.out.println(nBtnLayoutList);
            nBtnLayoutList.addView(createBtnAddEntries());               
            System.out.println("layout 5");             
          }
      };
  }

private LinearLayout newBtnLayout(){
LinearLayout nBtnLayout = new LinearLayout(this);
final LayoutParams lparams = new LayoutParams
(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
nBtnLayout.setOrientation(LinearLayout.VERTICAL);
nBtnLayout.setLayoutParams(lparams); 
nBtnLayout.setWeightSum(100);
nBtnLayout.setId(R.id.newBtnLayoutList);
    return nBtnLayout;
}


private Button createBtnAddEntries(){
    System.out.println("button 1");
    final LayoutParams lparams = new LayoutParams
    (LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT, 30);
    final Button addEntiresBtn = new Button(this);
    addEntiresBtn.setLayoutParams(lparams);
    addEntiresBtn.setText("Add Entries");
    addEntiresBtn.setId(R.id.newEntriesBtn);        
        return addEntiresBtn;
}        

这是Logcat输出

11-20 10:02:02.295: I/System.out(1077): layout 0    
11-20 10:02:02.305: I/System.out(1077): layout 1    
11-20 10:02:02.305: I/System.out(1077): layout 2    
11-20 10:02:02.305: I/System.out(1077): android.widget.LinearLayout@412376c0    
11-20 10:02:02.315: I/System.out(1077): layout 3    
11-20 10:02:02.346: I/System.out(1077): layout 4    
11-20 10:02:02.346: I/System.out(1077): null    
11-20 10:02:02.346: I/System.out(1077): button 1    
11-20 10:02:02.356: I/System.out(1077): button 2    
11-20 10:02:02.356: I/System.out(1077): button 3    
11-20 10:02:02.365: I/System.out(1077): button 4    
11-20 10:02:02.365: I/System.out(1077): button 5    
11-20 10:02:02.365: I/System.out(1077): button 6    
11-20 10:02:02.365: D/AndroidRuntime(1077): Shutting down VM    
11-20 10:02:02.365: W/dalvikvm(1077): threadid=1: thread exiting with uncaught exception (group=0x40a13300)    
11-20 10:02:02.375: E/AndroidRuntime(1077): FATAL EXCEPTION: main    
11-20 10:02:02.375: E/AndroidRuntime(1077): java.lang.NullPointerException    
11-20 10:02:02.375: E/AndroidRuntime(1077):     at com.daryl.jcu_project1_creditscoreform.Credit_score_form$1.onClick(Credit_score_form.java:66)    
11-20 10:02:02.375: E/AndroidRuntime(1077):     at android.view.View.performClick(View.java:4084)    
11-20 10:02:02.375: E/AndroidRuntime(1077):     at android.view.View$PerformClick.run(View.java:16966)    
11-20 10:02:02.375: E/AndroidRuntime(1077):     at android.os.Handler.handleCallback(Handler.java:615)    
11-20 10:02:02.375: E/AndroidRuntime(1077):     at android.os.Handler.dispatchMessage(Handler.java:92)    
11-20 10:02:02.375: E/AndroidRuntime(1077):     at android.os.Looper.loop(Looper.java:137)    
11-20 10:02:02.375: E/AndroidRuntime(1077):     at android.app.ActivityThread.main(ActivityThread.java:4745)    
11-20 10:02:02.375: E/AndroidRuntime(1077):     at java.lang.reflect.Method.invokeNative(Native Method)    
11-20 10:02:02.375: E/AndroidRuntime(1077):     at java.lang.reflect.Method.invoke(Method.java:511)    
11-20 10:02:02.375: E/AndroidRuntime(1077):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)    
11-20 10:02:02.375: E/AndroidRuntime(1077):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)    
11-20 10:02:02.375: E/AndroidRuntime(1077):     at dalvik.system.NativeStart.main(Native Method)    
11-20 10:07:02.445: I/Process(1077): Sending signal. PID: 1077 SIG: 9
4

2 回答 2

1

明显的 NullPointerException。请检查您是否activity_credit_score_from.xml实际包含具有该 ID 的布局。如果一切正常,请清理您的项目(Project => Clean)。Eclipse 是一个糟糕的 IDE,并且喜欢受苦的开发人员。

于 2012-11-20T10:39:52.600 回答
0

activity_credit_score_from.xml 中没有@id

这是我在 IDs.xml 中创建的

    <?xml version="1.0" encoding="utf-8"?>
<resources>

        <item
            name="newBtnLayoutList"
            type="id"/>
        <item
            name="newEntriesBtn"
            type="id"/>
    </resources>
于 2012-11-20T10:50:01.030 回答