Android: невозможно открыть диалоговое окно TextView - PullRequest
0 голосов
/ 11 марта 2012

Я новичок в разработке Android.Я хорошо разбираюсь в Java, но не в Android API.Это моя программа тестирования для приема на работу, поэтому мне нужна помощь, чтобы решить проблему.Я создал диалоговое окно, которое вызывается нажатием кнопки, но я не могу открыть текстовое представление диалога (приложение вылетает, когда я пытаюсь добраться до него - NullPointerException), даже в Eclipse IDE не возникает никаких проблем.Я включил почти весь код, потому что я не знаю, что исключить

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

    }
}

1 Ответ

1 голос
/ 11 марта 2012

Поиск в макете диалога (сейчас вы ищете в макете активности):

TextView dlgText = (TextView) dlgApie.findViewById(R.id.dlgText); 
...