myCustomViewクラスのonDrawメソッドにtextviewを追加しようとしています。これを行うと問題なく動作します。onDrawにTextViewを追加する際のNullPointer例外
tv = new TextView(context);
tv.setTextSize(14);
tv.layout(left, top, right, bottom);
tv.setGravity(Gravity.CENTER);
tv.setText(text);
canvas.save();
canvas.translate(left, top);
tv.draw(canvas);
しかし、私はonDrawでTextViewをインスタンス化したくありません。たとえば、(onDrawの)TextViewをクラスコンストラクタの外で初期化すると、このコードは機能します。それは、私に次のエラーを与える
のjava.lang.NullPointerException:android.widget.TextView.checkForRelayoutでnullオブジェクト参照 に 'int型 android.view.ViewGroup $ LayoutParams.width' フィールドから読み取ろうとしandroid.widget.TextView.setText(のTextViewでandroid.widget.TextView.setText(TextView.java:5234) でandroid.widget.TextView.setTextで(TextView.java:8447) (TextView.java:5378) .java:5191)
このエラーの理由は?
ご意見ありがとうございます。私は古いコードを理解しようとしています。 – asish