1

我试图创建一个自定义编辑文字,结果被困在这里了......错误通胀类(自定义视图)

请参考下面

public class MainActivity extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 


public static class MyEditText1 extends EditText{ 

    Paint mPaint; 




    public MyEditText1(Context context) { 
     super(context); 
     // TODO Auto-generated constructor stub 

    } 

    public MyEditText1(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     mPaint=new Paint(); 
     mPaint.setColor(Color.BLACK); 


    } 

    @Override 
    protected void onDraw(Canvas c){ 
     super.onDraw(c); 
     int height=getHeight(); 
     int width=getWidth(); 
     int linespace=10; 
    int count=height/linespace; 

     for(int i=0;i<count;i++){ 
      c.drawLine(0, i*linespace, width, i*linespace, mPaint); 
     } 


    } 



    } 


} 

MyEditText类我的代码是内部类

,我指的这个观点在我的XML作为

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 



<com.example.customedittext.MainActivity.MyEditText1 

    android:id="@+id/editText1" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:ems="10" 
    android:inputType="textNoSuggestions"/> 


</RelativeLayout> 

但应用越来越力CLOS编辑后立即开始。但当我保持内部类在MyEditText.java(并引用它在XML中)一个单独的文件它工作得很好......保持它作为内部类的问题是什么......尽管我已经作出我的内部类是静态的?

+0

堆栈跟踪丢失...... – WarrenFaith

回答

6

因为你的观点是一个内部类,你需要参考它从你的XML略有不同(注意$符号):

com.example.customedittext.MainActivity$MyEditText1 
+0

使得它作为你说给我在XML文件中的下面的错误 ---“在此行找到多个注解: \t - 元素类型‘com.example.customedittext.MainActivity’必须跟任一属性规格,‘>’ \t或” /> “。” – amj

+1

感谢@wsanville的提示......我的身影d it out.actually 当视图类是嵌套的,我们需要使用xml中的类属性 这里是链接..到[Use Custom component](http://developer.android.com/guide/) topics/ui/custom-components.html#modification) – amj

+0

@amj你应该选择他的答案作为正确的答案 - 他的答案只是帮助我处理我遇到的问题。 – Kirk