我有一个名为Class
的{{1}},它是LineGraphView
的子类。我希望能够将一些数据传递给此视图,以便它可以在其View
方法中进行相应的绘制。
分析片段(引用视图并调用方法)
onDraw()
我的问题是,如果我希望能够使用LineGraphView altitudeGraph;
LineGraphView speedGraph;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup group, Bundle saved)
{
super.onCreateView(inflater, group, saved);
View view = inflater.inflate(R.layout.analysisfrag, group, false);
this.altitudeGraph = (LineGraphView) view.findViewById(R.id.linegraph_Altitude);
this.speedGraph = (LineGraphView) view.findViewById(R.id.linegraph_Speed);
return view;
}
和getWidth()
访问该视图宽度和高度属性,我什么时候可以这样做,因为到目前为止返回的所有内容都是getHeight()
。
我是否需要创建一个监听器,让0
父母知道它可以被访问?
提前致谢。
答案 0 :(得分:1)
如果您已经在创建自己的自定义视图,我只需添加一些带有getter / setter的私有变量,以获取您需要传递的信息。从那里,只需处理onDraw()方法中的绘图 - 从那里,您可以获得View的宽度和高度(或者只是Canvas的宽度和高度,可能是相同的值)。
答案 1 :(得分:0)
答案在这里:https://stackoverflow.com/a/3594216/969325 基本上你太早调用getWidth / height(在onCreate期间)。我相信你可以使用一个处理程序在onCreate之后获取它。你也可以试试这个:https://stackoverflow.com/a/10118459/969325(使用onWindowFocusChanged)。