2015-05-12 54 views
0

我試圖獲取editText的內容,但idont知道如何做到這一點。請幫我在這(使用方法的ShowDialog林)定製AlertDialog與佈局

protected Dialog onCreateDialog(int id, Bundle args) 
{ 
     AlertDialog.Builder builder2 = new AlertDialog.Builder(this); 
     LayoutInflater inflater = this.getLayoutInflater(); 
     builder2.setView(inflater.inflate(R.layout.dialog_search_teacher,null)); 
     final EditText price,city; 
     price=(EditText)findViewById(R.id.price_search); 
     city=(EditText)findViewById(R.id.city_search); 
     builder2.setPositiveButton("Serach", new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       serach(city.getText().toString(),price.getText().toString()); 

      } 
     }); 
     builder2.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface dialog, int which) { 


      } 
     }); 
     AlertDialog alert2 = builder2.create(); 
     return(alert2);} 
+0

你有什麼問題?另外,在'setContentView()'或者'dialog_search_teacher.xml'中佈局的'EditText'是什麼? – codeMagic

+0

無關的bro-tip:使用'LayoutInflater.from(builder2.getContext())'。即使用帶對話框主題的上下文來擴充對話框的內容。這將最顯着地修復白色活動中黑色對話框中不正確的字體顏色,反之亦然。 –

回答

-2

你必須找到EDITTEXT ID這樣

價格=(EditText上)builder2.findViewById(R.id.price_search)。

1

如果你需要得到從EditText上的文字,你必須這樣做:

LayoutInflater inflater = getActivity().getLayoutInflater(); 
View view = inflater.inflate(R.layout.dialog_search_teacher, null); 
city=(EditText)view.findViewById(R.id.city_search); 

,然後,對的onclick()方法,你必須檢索文本:

city.getText().toString(); 

但如果你想傳遞字符串到父類,你必須這樣做一個接口: http://developer.android.com/training/basics/fragments/communicating.html

-2

你應該聲明你的editText在對話框的方法類似,

LayoutInflater inflater = getActivity().getLayoutInflater(); 
View view = inflater.inflate(R.layout.dialog_search_teacher, null); 
city=(EditText)view.findViewById(R.id.city_search); 

之後,而這樣做的onClick偵聽陽性按鈕,你可以使用

city.getText().toString(); 

希望這將有助於你得到EDITTEXT的內容。

+0

Juan jose給出了同樣的答案..那麼爲什麼另一個複製.. –