Android onDraw()中的EditText

Android onDraw()中的EditText,android,android-edittext,ondraw,Android,Android Edittext,Ondraw,我知道如何添加EditText,但不知道如何在onDraw()函数中添加 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN

我知道如何添加EditText,但不知道如何在onDraw()函数中添加

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(new GaugeAnimation((this),10));

    EditText input = (EditText) findViewById(R.id.input);

    input.setText("hello");
}
上述方法不起作用,以下方法也不起作用:

@Override
public void onDraw(Canvas c){


    EditText input = (EditText) findViewById(R.id.input);
    input.setText("hi");

}
那我该怎么做呢?我基本上希望添加一个可编辑的文本框,但因为我没有使用:

setContentView(new R.layout.main);
搞砸了。有什么建议吗

我试过:

public class GaugeAnimation extends View{
         public GaugeAnimation(Context context, int value){
            EditText input = new EditText(context);
    input.setId(R.id.input);
 }
}

但是它仍然不起作用,我做错了什么?

当您构建
gaugeeanimation
视图时,请确保它调用
setId(R.id.input)
用于输入的EditText视图。那么你的第一种方法就行了


您应该知道,不应该像您尝试的那样从视图的
onDraw
方法更新UI元素。

当您构建
GaugeImation
视图时,确保它为您要用于输入的EditText视图调用
setId(R.id.input)
。那么你的第一种方法就行了


您应该知道,您不应该像您尝试的那样从视图的
onDraw
方法更新UI元素。

我想您必须将edittext膨胀到视图才能使用它。如果没有膨胀,您的edittext尚未实例化。

我想您必须将edittext膨胀到视图才能使用它。如果没有膨胀,您的编辑文本尚未实例化。

抱歉,我有点困惑,我尝试了它(如上所述),但仍然不起作用。或者,我有点困惑,我尝试了它(如上所述),但仍然不起作用