程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> xml-Android自定義view失敗

xml-Android自定義view失敗

編輯:編程綜合問答
Android自定義view失敗

安卓編程時想在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);

一直搞不懂,網上也沒找到什麼好的解釋,求論壇裡大神解答

最佳回答:


MyView 是內部類,把myview獨立一個.java文件,定義成public類

ljwbupt
danielinbiti
ljwbupt
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved