Raf*_*hez 5 android android-view
我想将一些数据传递给扩展 android.view.View 的自定义类。但是,我收到一条警告消息:
自定义视图 LinePlot 缺少工具使用的构造函数:(Context) 或 (Context,AttributeSet) 或 (Context,AttributeSet,int)
但是,我运行了代码,一切似乎都很顺利。
谢谢!
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.View;
import java.util.ArrayList;
public class LinePlot extends View {
private ArrayList<Float> mPoints;
private int dx;
private int dy;
Paint paint=new Paint();
public LinePlot(Context context,int dx_plot, int dy_plot, ArrayList<Float> points) {
super(context);
mPoints=points;
dx=dx_plot;
dy=dy_plot;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// plotting my data here
}
}
Run Code Online (Sandbox Code Playgroud)
该警告意味着您将无法在任何 xml 布局中使用自定义视图。
如果您不打算这样做,那么为您的自定义视图实现这些构造函数仍然是很好的选择,如下所示:
CustomView(Context ctx) {
super(ctx)
}
Run Code Online (Sandbox Code Playgroud)
任何附加属性通常作为自定义属性而不是构造函数参数传递。阅读文档或其他地方的自定义视图属性http://www.tutorialspoint.com/android/create_custom_attributes_for_custom_component.htm
| 归档时间: |
|
| 查看次数: |
6795 次 |
| 最近记录: |