0

私はAndroid開発の初心者です。私はJavaは得意ですが、AndroidAPIは得意ではありません。これは私の求人応募のテストプログラムなので、問題を解決するために助けが必要です。ボタンを押すと呼び出されるダイアログボックスを作成しましたが、Eclipse IDEでも問題が見つからない場合でも、ダイアログのテキストビューに到達できません(到達しようとするとアプリがクラッシュします-NullPointerException)。何を除外すればよいかわからないため、ほとんどすべてのコードを含めます

custom_dialog.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/layout_root"
          android:orientation="horizontal"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:padding="10dp"
          >
    <TextView android:id="@+id/dlgText"
              android:layout_width="fill_parent"
              android:layout_height="50dp"
              android:textColor="#FFF"
              />
</LinearLayout>

BalticAmadeusActivity.java

public class BalticAmadeusActivity extends Activity{
    /** Called when the activity is first created. */
    Button btnApie;
    Button btnForma;
    Dialog dlgApie;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btnApie = (Button) findViewById(R.id.btnApie);
        btnForma = (Button) findViewById(R.id.btnForma);
        btnApie.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                if (v.equals(btnForma)) {
                    btnForma();
                } else if (v.equals(btnApie)) {
                    btnApie();
                }
                return false;
            }
        });
        dlgApie = new Dialog(this.getApplicationContext(), android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
        dlgApie.setContentView(R.layout.custom_dialog);
        TextView dlgText = (TextView) findViewById(R.id.dlgText);  
        dlgText.setText("Gera uzduotis"); //at this line, app crashes

        //dlgText.setText("U\u017Eduotis s\u0117kmingai \u012Fgyvendinta");
    }

    private void btnApie() {
        // TODO Auto-generated method stub
        dlgApie.show();
    }

    private void btnForma() {
        // TODO Auto-generated method stub

    }
}
4

1 に答える 1

1

ダイアログレイアウトで検索します(現在、アクティビティレイアウトで検索しています):

TextView dlgText = (TextView) dlgApie.findViewById(R.id.dlgText); 
于 2012-03-11T18:36:35.330 に答える