2013-04-19 7 views

Odpowiedz

6

Tak, możesz.

Na przykład, jeśli utworzysz własne okno dialogowe z własnym układem, możesz ustawić identyfikator dla każdego z widoków, a następnie uzyskać dostęp do każdego z nich (na przykład textView) i ustawić nowy tekst, kiedy tylko chcesz. do.

+0

Dla mnie to nie działa: Używanie 'TextView messageView = (TextView) dialog.findViewById (android.R.id.message); messageView.setText ("MyText"); 'po wywołaniu' dialog.show() 'nie zmienia tekstu. – user905686

+0

Ponownie napisałem "z własnym układem". W przypadku innych rozwiązań mogą one nie działać poprawnie. –

10

Uzgodniono z programistą Androida. Można również użyć opcji:

Aby uzyskać kontrolę nad messageTextView z AlertDialog. Następnie możesz ustawić tam nowy tekst.

+0

Czy próbowałeś również tej metody? – stinepike

+1

To nie działa. @ Odpowiedź Danger jest poprawna i jest ładniejsza, po prostu użyj alert.setMessage() zamiast builder.setMessage(). – qwlice

0

Set OnClickListener z głównego seter jak ten:

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity()) 
         .setTitle(getResources().getString(R.string.dialog_title)) 
         .setMessage("Waiting ...") 
         .setNeutralButton(R.string.check, null); 

AlertDialog alertDialog = alertDialogBuilder.create(); 
alertDialog.show(); 

Button b_neutral = alertDialog.getButton(DialogInterface.BUTTON_NEUTRAL); 
b_neutral.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View view) { 
         TextView tv_message = (TextView) alertDialog.findViewById(android.R.id.message); 
         tv_message.setText("Works ..."); 
    } 
}); 
6

Zastosowanie alert.setMessage() zamiast builder.setMessage() połączeń alert.setMessage() i ustawić wiadomość od swojej najbliższym dialogowym ty chcieć.

+2

to jest odpowiedź! – qwlice

+0

Ważne jest, aby pamiętać, że 'alert.setMessage()' ** nie zadziała, chyba że ** przynajmniej nazwałeś jego 'AlertDialog.Builder'' builder.setMessage() 'najpierw z' '' 'input (' null 'input też nie działa). Jest to znany problem, zobacz problem na stronie [https://issuetracker.google.com/issues/36913966](https://issuetracker.google.com/issues/36913966) – Eido95

+0

Problem został zgłoszony przed wersją Androida 2.3. Z powodu wielu zmian, które istniały w Androidzie 4.x w porównaniu z poprzednimi wersjami, jest bardzo prawdopodobne, że ten problem nie występuje w najnowszych wersjach Androida, takich jak 4.2.2 lub nowszych. – Danger

Powiązane problemy