Java Can';不要膨胀自定义视图
我有一个自定义视图,名为Java Can';不要膨胀自定义视图,java,android,Java,Android,我有一个自定义视图,名为条形图,当我尝试充气时,它不会 public class BarGraph extends View { public BarGraph(Context context) { super(context); mContext = context; // inflateView(); } public BarGraph(Context context, AttributeSet attrs) { super(context, attrs);
条形图
,当我尝试充气时,它不会
public class BarGraph extends View {
public BarGraph(Context context) {
super(context);
mContext = context;
// inflateView();
}
public BarGraph(Context context, AttributeSet attrs) {
super(context, attrs);
mContext = context;
// inflateView();
}
private void inflateView() {
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//This line is wrong, can't inflate BarGraph
View v = inflater.inflate(R.layout.bar_graph,this, true);
hsv = (HorizontalScrollView) v.findViewById(R.id.hsv_bar_graph);
}
错误是:
The method inflate(int, ViewGroup, boolean) in the type LayoutInflater is not applicable for the arguments (int, BarGraph, boolean)
试试这个:
View v = inflater.inflate(R.layout.bar_graph,(ViewGroup) this.getParent(), true);
或者将ViewGroup设置为空。请查看它
inflater.inflate(R.layout.list_layout, null); // no parent
inflater.inflate(R.layout.schedule_layout, (ViewGroup) lst_item_view, false); // with parent` preserving LayoutParams
请检查日志并进行相应的操作,您的问题肯定会得到解决。第二个参数必须是
视图组
,并且您的类正在扩展视图
。它需要一个视图组,因为方法addView
是为ViewGroup
定义的,而不是为View
定义的(这是布尔值attachToRoot
所做的)将自定义类扩展到ViewSwitcher
例如:customView extends ViewSwitcher
这将解决您的问题您必须在活动中设置条形图视图您可以嵌入布局并将自定义视图添加到自定义组件扩展到的类中?第二个参数必须是视图组,android.view.ViewGroup,布尔)是一个条形图,是一个custim视图