2013-12-21 86 views
-1

我這個對話框編輯文本的警報對話框

case DIALOGO_EDIT: 

final EditText editText = new EditText(context); 

builder.setView(editText); 

builder.setPositiveButton("Send", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int i) { 

    } 
}); 

builder.setNegativeButton("Close", null); 

break; 

但是,當我旋轉設備的對話框辭退...我怎樣才能解決這個問題,並旋轉過程中mantein對話?或顯示在「全屏幕」例如WhatsApp

回答

0

當屏幕旋轉時編輯文本時,活動實際上是重新啓動並殺死,因此需要保存,並且能夠恢復使用的生命週期方法的數據。看看這裏:Saving Persistent State

你可能想看看以this question here

0

這個問題是使用DialogFragment避免的最好辦法。

創建一個擴展到DialogFragment的新類。覆蓋onCreateDialog並返回您的舊對話框或AlertDialog。

他們可以用DialogFragment.show(fragmentManager, tag)顯示。

這裏與像監聽活動的例子:

public class MyDialogFragment extends DialogFragment { 

    public interface YesNoListener { 
     void onYes(); 

     void onNo(); 
    } 

    @Override 
    public void onAttach(Activity activity) { 
     super.onAttach(activity); 
     if (!(activity instanceof YesNoListener)) { 
      throw new ClassCastException(activity.toString() + " must implement YesNoListener"); 
     } 
    } 

    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     return new AlertDialog.Builder(getActivity()) 
       .setTitle(R.string.dialog_my_title) 
       .setMessage(R.string.dialog_my_message) 
       .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { 

        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         ((YesNoListener) getActivity()).onYes(); 
        } 
       }) 
       .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { 

        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         ((YesNoListener) getActivity()).onNo(); 
        } 
       }) 
       .create(); 
    } 
} 

而且在活動你撥打:

new MyDialogFragment().show(getSupportFragmentManager(), "tag"); // or getFragmentManager() in API 11+ 

這種問題已經問過了,也有它,這些解決方案三個問題與你的問題相匹配(他們回答):

Android Best way of avoid Dialogs to dismiss after a device rotation

Android DialogFragment vs Dialog

How can I show a DialogFragment using compatibility package?