2016-05-20 114 views
0

Quick Question。我寫了一些視圖類,並通過XML將它們包含在片段中。這些視圖類正在膨脹。充氣呼叫類方法查看

private void inflateView(Context context){ 
    inflater =(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    inflater.inflate(R.layout.layout_motoreffiziens_view, this, true); 
} 

在my fragment的onCreateView中,我通過findViewById獲得View引用。 爲了完成一些任務,我爲我的View實現了一個監聽器,我可以使用我的實習生方法addListeners(myCustomListener)添加它。

我的問題是現在,我不能調用方法(因爲它顯然是一個視圖,而不是一個ClassReference)。

我的視野頭

public class MotorSelection extends RelativeLayout implements Spinner.OnItemSelectedListener { 

private LayoutInflater inflater; 
private SpinnerChange spinnerChangeListener = null ; 

這一觀點被嵌套在我的XML片段:

<com.example.andy.einzelprojekt1.views.MotorSelection 
    android:id="@+id/view_motor_selection" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

所以我的問題是我如何使用我的方法從膨脹的看法? 更具體:

在我的片段的onCreate我想要訪問此視圖並添加一個偵聽器。

問候

/E 16年5月20日

+0

我想你只需要投你的視圖類延伸查看,但你應該提供更多的代碼,以確保並更好地幫助您 –

回答

0

能否請您發表您的View類的代碼?
其實,膨脹的視圖是你班級的實例,所以你應該可以撥打view.yourMethod()

另一種方式(如果我錯過了你的問題)是使用Reflection
例如,this

+0

耶。我也認爲,但方法不是無聊的。 – Offset

0

好的愚蠢的錯誤。 我將我的視圖添加到擴展對象中(在我的案例RelativeLayout中)。因爲這我不能訪問我的方法在新的ViewClass中聲明。

motorselection = (MotorSelection) rootView.findViewById(R.id.view_motor_selection); 

/回答