快速问题。我写了一些View类,并通过XML将它们包含在Fragment中。这些View类正在膨胀。
private void inflateView(Context context){
inflater =(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.layout_motoreffiziens_view, this, true);
}
在my片段的onCreateView中,我通过findViewById获取View引用。 为了满足某些任务,我为我的View实现了一个监听器,我可以使用我的实习方法addListeners(myCustomListener)添加它。
我的问题是我现在无法调用方法(因为它显然是一个View而不是ClassReference)。
我的查看标题
public class MotorSelection extends RelativeLayout implements Spinner.OnItemSelectedListener {
private LayoutInflater inflater;
private SpinnerChange spinnerChangeListener = null ;
此视图嵌套在我的Fragment 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 20.5.16
答案 0 :(得分:0)
您能否发布View
班的代码?
实际上,夸大视图是您班级的实例,因此您应该可以致电view.yourMethod()
。
另一种方式(如果我在你的问题中遗漏了某些内容),就是使用Reflection
例如,this。
答案 1 :(得分:0)
好的愚蠢的错误。 我将我的视图加入扩展对象(在我的Case RelativeLayout中)。因此,我无法访问在新ViewClass中声明的方法。
motorselection = (MotorSelection) rootView.findViewById(R.id.view_motor_selection);
/回答