2016-09-26 50 views
0

我在對話框的自定義佈局中有一個TextView。 對話框即將出現時,其文本必須更改。我用來設置文本和顯示對話框如何使用setText()編輯自定義佈局對話框中的文本

 <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/final_score" 
     /> 

Java代碼

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    LayoutInflater inflater = this.getLayoutInflater(); 
    builder.setView(inflater.inflate(R.layout.its_over, null)); 
    AlertDialog dialog = builder.create(); 
    dialog.show(); 
    TextView t = (TextView)findViewById(R.id.final_score); 
    t.setText(""+score); 

我也試過這個代碼。

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    LayoutInflater inflater = this.getLayoutInflater(); 
    builder.setView(inflater.inflate(R.layout.its_over, null)); 
    AlertDialog dialog = builder.create(); 
    TextView t = (TextView)dialog.findViewById(R.id.final_score); 
    t.setText(""+score); 
    dialog.show(); 

但是當這些方法被調用時,應用程序會崩潰。

,但如果我們刪除

TextView t = (TextView)dialog.findViewById(R.id.final_score); 
    t.setText(""+score); 

它不會崩潰。

+0

什麼是您的崩潰說? Logcat輸出了什麼?知道它爲什麼崩潰是重要的。然後我們可以進一步幫助。它在我看來,它可能是一個空引用,是'TextView t =(TextView)dialog.findViewById(R.id.final_score); '返回null或不? –

回答

3

嘗試訪問的TextView由它的父全球化志願服務青年

View view = inflater.inflate(R.layout.its_over, null); 
builder.setView(view); 
TextView t = (TextView) view.findViewById(R.id.final_score); 
相關問題