2015-05-12 3 views
0

Im пытается получить содержимое editText, но idont знает, как это сделать. Пожалуйста, помогите мне в этом (Im используя метод ShowDialog)custom 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

В чем проблема, с которой вы сталкиваетесь? Кроме того, находится ли 'EditText' внутри макета, установленного в' setContentView() 'или в' dialog_search_teacher.xml'? – codeMagic

+0

Несвязанный бровей: используйте 'LayoutInflater.from (builder2.getContext())'. То есть используйте контекст с диалоговой темой, чтобы раздуть содержимое диалогового окна. Это наиболее заметно устранит неправильный цвет шрифта в черных диалогах над белыми действиями и наоборот. –

ответ

-2

Вы должны найти EditText идентификатор, как этот

цена = (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 перехватчик для кнопки положительного номера, вы можете получить содержание EditText с помощью

city.getText().toString(); 

Надеется, что это поможет вам.

+0

тот же ответ уже дается Хуаном jose..если почему другой дубликат .. –

Смежные вопросы