2012-03-11 67 views
0

我是android开发中的新手。我擅长Java,但不擅长Android API。这是我的工作申请测试计划,所以我需要帮助来解决问题。我创建了一个对话框,通过按下按钮来调用,但我无法访问对话框的textview(应用程序崩溃时,我试图达到它 - NullPointerException)即使Eclipse IDE没有发现任何问题。我几乎包括所有的代码,因为我不知道该怎么排除在对话框布局Android:无法访问对话框TextView

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 

    } 
} 
+0

那么你的main.xml中是什么样子? – Phil 2012-03-11 18:34:23

回答

1

搜索(现在您正在搜索在活动布局):

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

感谢您的支持! – Jakob 2012-11-29 20:17:49