Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';在android画布中绘制editText_Java_Android - Fatal编程技术网

Java Can';在android画布中绘制editText

Java Can';在android画布中绘制editText,java,android,Java,Android,我正在尝试将编辑文本框添加到我的android项目中。这个项目几乎完全是用Java完成的(几乎没有任何xml),所以我想知道如何用Java完成这项工作。我当前的实现出现运行时错误,如下所示: public class MainMenu extends View{ EditText editText; public MainMenu(Context context) { super(context); EditText editText = new

我正在尝试将编辑文本框添加到我的android项目中。这个项目几乎完全是用Java完成的(几乎没有任何xml),所以我想知道如何用Java完成这项工作。我当前的实现出现运行时错误,如下所示:

public class MainMenu extends View{
    EditText editText;

    public MainMenu(Context context) {
        super(context);
        EditText editText = new EditText(context);
        editText.setDrawingCacheEnabled(true);
        editText.setText("My Text");
        editText.setWidth(180);         
        editText.setBackgroundColor(Color.WHITE);
    }
    @Override
    protected void onDraw(Canvas canvas){
        super.onDraw(canvas);
        editText.draw(canvas);
        invalidate();
    }
}
有人能指出问题所在并提供使用Java的解决方案吗

EditText editText = new EditText(context);
我认为,在onDraw方法中,您的“editText”将为空

editText = new EditText(context);

解决问题时请告知我们

我认为您应该使用:

EditText text=(EditText)findViewById(R.id.editTextId);

您可以在设计xml文件的右上角找到它。祝你好运

编辑文本是视图。您正在尝试在视图内部绘制视图。Wtf?我正在尝试添加一个文本框,单击它会打开一个数字屏幕,以便您可以输入数字。通过谷歌搜索如何做到这一点,我找到了一个建议使用EditText的主题。那么我该怎么做呢?所以扩展EditText,而不是Views这在很多方面都是错误的我很傻没有注意到这一点。这停止了运行时错误。现在我的问题是什么都看不见。已尝试设置editText可见性、启用requestFocus、设置高度/位置。我没有添加任何内容使其可见。您应该阅读视图的工作原理。现在你应该接受这个答案,因为你的第一个问题是为什么会抛出异常。我发现了一些东西:)你必须把它放在一个布局中