2013-01-03 101 views
0

我一直在努力,沒有理由,我不明白爲什麼。 這裏是我的Java代碼:java空指針android

public class SousRubrique extends RelativeLayout { 
private View sousRubriqueView; 
private TextView titleTextView; 
public SousRubrique(Context context, AttributeSet attrs, int defStyle) { 
    super(context); 
    init(context); 
} 
public SousRubrique(Context context, AttributeSet attrs) { 
    super(context); 
    init(context); 
} 
public SousRubrique(Context context) { 
    super(context); 
    init(context); 
} 

// Initialization methods 

    public void init(Context context){ 
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     setSousRubriqueView(inflater.inflate(R.layout.sousrubrique, this)); 

     bind(); 
    } 
    public void bind(){ 
     setTitleTextView((TextView) sousRubriqueView.findViewById(R.id.sousRubriqueTitle)); 
    } 
    // end 

    public void setTitle(String title){ 
     titleTextView.setText(title); 
    } 
    public TextView getTitleTextView() { 
     return titleTextView; 
    } 
    public void setTitleTextView(TextView titleTextView) { 
     this.titleTextView = titleTextView; 
    } 
    public View getSousRubriqueView() { 
     return sousRubriqueView; 
    } 
    public void setSousRubriqueView(View sousRubriqueView) { 
     this.sousRubriqueView = sousRubriqueView; 
    } 
} 

這裏是我的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@color/red" 
android:orientation="vertical" > 

<TextView 
    android:id="@+id/sousRubriqueTitle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Sous-Rubrique" 
    android:layout_centerInParent="true" 
    android:textColor="@android:color/white" /> 

爲什麼Eclipse的告訴我有java的空指針的綁定方法有問題?

+0

我知道我問的方式有點苛刻,但我一直在它上面像一個小時長。我正在編輯。 – Tsunaze

+0

嘗試實現@Override方法onCreated,並在佈局創建後調用此方法的綁定函數。 –

+2

這個@DGomez有什麼問題?他發佈了所有的代碼,說錯誤,並問他爲什麼得到一個空指針異常。對我來說似乎是合理的...也許編輯之前它是不同的? – leenephi

回答

1

sousRubriqueView對象從不初始化。這就是爲什麼你得到的NPE

+0

但用setSousRubriqueView(inflater.inflate(R.layout.sousrubrique,this));在我所有其他課程中,它初始化。 – Tsunaze

+0

對不起,我打算刪除答案。你是否嘗試清理該項目? – Blackbelt

+0

根應該爲空。而不是將此傳遞給inflater傳遞null:inflater.inflate(R.layout.sousrubrique,null) – Blackbelt