安卓编程时想在xml布局中自定义一个view,但当把自定义的view写在xml里面时,就会报错说The following classes could not be instantiated:- com.example.wifidetection.MyPaint.MyView 。
其中MyView就是我自定义的view,前面是它的路径,里面wifideection是包名,MyPaint是MyView所在的类,代码如下:
<?xml version="1.0" encoding="utf-8"?>
xmlns:tools="http://schemas.android.com/tools"
xmlns:custom="http://schemas.android.com/apk/res/com.example.wifidetection"
android:id="@+id/mScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical" >
android:orientation = "vertical"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/start"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="开始绘图" />
<com.example.wifidetection.MyPaint.MyView
android:layout_width="200dp"
android:layout_height="100dp"
/>
MyPaint中是这样的
public class MyPaint extends ActionBarActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
·····
setContentView(R.layout.paint_layout);//显示MyView布局
}
class MyView extends View
{
public MyView(Context context, AttributeSet attrs)
{
this(context, attrs, 0);
}
public MyView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
public MyView(Context context){
super(context);
一直搞不懂,网上也没找到什么好的解释,求论坛里大神解答