【问题标题】:Error inflation class(custom view)错误膨胀类(自定义视图)
【发布时间】:2012-10-25 18:06:11
【问题描述】:

我正在尝试创建自定义编辑文本并卡在这里...

请看下面我的代码

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>

但是应用程序在启动后立即强制关闭。但是当我将内部类作为 MyEditText.java 保存在单独的文件中时(并在 xml 中引用它)它工作正常..保持它有什么问题内部类..即使我已将内部类设为静态?

【问题讨论】:

  • 缺少堆栈跟踪...

标签: android android-edittext inner-classes inflate-exception


【解决方案1】:

因为您的视图是一个内部类,您需要引用它与您的 XML 稍有不同(注意 $ 符号):

com.example.customedittext.MainActivity$MyEditText1

【讨论】:

  • 按照您的说法进行操作会在 xml 文件中出现以下错误 ---“在此行找到多个注释:-元素类型“com.example.customedittext.MainActivity”必须后跟任一属性规范,“>”或“/>”。“
  • 感谢@wsanville 的提示...我想通了..实际上当视图类是嵌套的时,我们需要在xml 中使用class 属性这是链接.. 到Use Custom component
  • @amj 你应该选择他的答案作为正确的答案——他的答案只是帮助我解决了我遇到的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-16
  • 1970-01-01
  • 1970-01-01
  • 2013-03-05
  • 1970-01-01
相关资源
最近更新 更多