0

mail.xmlレイアウトにテキストボックスを追加しました。ゲームへの描画に使用するサーフェスビューもあります。FrameViewを使用してmain.xmlレイアウトからSurfaceView上のテキストボックスにオーバーレイしようとしていますが、nullエラーが発生します。

私の作成では、「f.addView(text);」を呼び出すまですべて正常に機能します。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    iso = new Iso(30,30, this);

    FrameLayout f = new FrameLayout(this);
    f.addView(iso);

    text = (EditText) findViewById(R.id.txt);
    f.addView(text);

    setContentView(f);
}

私のxmlファイル:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<EditText
    android:id="@+id/txt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:ems="10" >

    <requestFocus />
</EditText>

そして、nullポインタ例外が発生します。「f.addView(text)」という行を削除すると、正常に機能します。助けてください

4

1 に答える 1

0

xml レイアウトをインフレートするのを忘れていました。

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);

   iso = new Iso(30,30, this);

   FrameLayout f = new FrameLayout(this);
   f.addView(iso);

   View rootView = LayoutInflater.from(this).inflate(R.layout.main, f);
   text = (EditText) rootView.findViewById(R.id.txt);
   f.addView(text);

   setContentView(f);
}
于 2012-08-31T12:37:00.077 に答える