2

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);
 }
}

しかし、それでも私が間違っていることは機能しませんか?

4

2 に答える 2

0

エディットテキストを使用できるようにするには、エディットテキストをビューに膨らませる必要があると思います。膨らませないと、編集テキストはまだインスタンス化されません。

于 2011-05-30T22:29:47.173 に答える
0

ビューを作成するときは、入力に使用するEditTextビューがGaugeAnimation呼び出されることを確認してください。setId(R.id.input)その後、最初の方法が機能します。

onDraw試したように、ビューのメソッドからUI要素を更新しないように注意する必要があります。

于 2011-05-30T18:04:22.060 に答える