【发布时间】: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