Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.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 为什么我的editText没有显示在画布中?_Java_Android - Fatal编程技术网

Java 为什么我的editText没有显示在画布中?

Java 为什么我的editText没有显示在画布中?,java,android,Java,Android,我的最终目标是在画布上有一个简单的文本输入框,当用户单击该框时,可以在框中输入一些数字。这需要用Java而不是XML来完成 到目前为止,我的代码如下所示: public class MainMenu extends View{ EditText editText; public MainMenu(Context context) { super(context); editText = new EditText(context);

我的最终目标是在画布上有一个简单的文本输入框,当用户单击该框时,可以在框中输入一些数字。这需要用Java而不是XML来完成

到目前为止,我的代码如下所示:

public class MainMenu extends View{
    EditText editText;

    public MainMenu(Context context) {
        super(context);
        editText = new EditText(context);
        editText.setDrawingCacheEnabled(true);
        editText.setVisibility(View.VISIBLE);
        editText.setText("My Text");
        editText.setWidth(180);
        editText.setHeight(200);
        editText.setLeft(500);
        editText.setTop(500);
        editText.setBackgroundColor(Color.WHITE);
        editText.requestFocus();
    }
    @Override
    protected void onDraw(Canvas canvas){
        super.onDraw(canvas);
        editText.draw(canvas);
        invalidate();
    }
}

有人知道为什么我的编辑文本不显示吗?

你为什么要这样做?您想实现什么?如何在画布中绘制编辑文本您是否为主菜单指定了明确的大小?如果是这样,请检查它是否足够大以显示EditText(记住,它不知道EditText有多大)。如果没有,你可能需要这样做!Han,我已经看过那篇文章了,跟着看了,但是没有变化。stkent,没有明确的大小,大小取决于模拟器的屏幕。左侧等于200,顶部等于500的坐标是一个应该工作的位置。在该位置执行canvas.drawText()调用会在那里绘制文本。