2012-12-24 23 views
6

मैं एक DialogFragment बनाया है और मैं एक EditText जोड़ना चाहते हैं लेकिन जब मैं कोशिश करते हैं और इस तरह से जोड़ें:मैं एक संवाद प्रारूप में एक संपादन टेक्स्ट कैसे जोड़ूं?

final EditText input = new EditText(this); 

मैं "इस" और कहा कि "निर्माता EditText (EncryptionDialogFragment) पर एक त्रुटि प्राप्त कर रहा है अपरिभाषित "।

मेरा अंतिम लक्ष्य यह है कि उपयोगकर्ता इस तरह अपना पासवर्ड दर्ज करें।

public class EncryptionDialogFragment extends DialogFragment { 
    final EditText input = new EditText(this); 
    static EncryptionDialogFragment newInstance(String title){ 
     EncryptionDialogFragment fragment = new EncryptionDialogFragment(); 
     Bundle args = new Bundle(); 
     args.putString("title", title); 
     fragment.setArguments(args); 
     return fragment; 
    } 
    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     return new AlertDialog.Builder(getActivity()) 
     .setIcon(R.drawable.ic_launcher) 
     .setTitle("Enter Password:") 
     .setView(input) 
     .setPositiveButton("OK", 
       new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, 
       int whichButton) { 
      ((MainActivity)getActivity()).doPositiveClick(); 
     } 
    }) 
    .setNegativeButton("Cancel", 
      new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, 
       int whichButton) { 
      ((MainActivity)getActivity()).doNegativeClick(); 
     } 
    }).create(); 
} 

}

उत्तर

6

उपयोग getActivity()

final EditText input = new EditText(getActivity()); 

और क्षेत्र में इसका इस्तेमाल करते हैं, onCreateView में यह प्रारंभ जहां getActivity अशक्त

+0

धन्यवाद! मुझे सिर्फ आपके जवाब को स्वीकार करने के लिए 10 मिनट का इंतजार करना है। – GreekOphion

1

this जरूरतों नहीं लौटेगा एक प्रसंग होने की न यानी एक गतिविधि। किसी गतिविधि से आपके टुकड़े को संलग्न करने से पहले आप एडिटटेक्स्ट नहीं बना सकते हैं। onCreateDialog में आप new EditText(getActivity()) कर सकते हैं।

संबंधित मुद्दे