im试图获取EditText的内容,但Idont知道该怎么做。请在此帮助我。(IM使用方法showdialog)
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);}
如果您需要从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
您必须找到像这样的deDittext ID
price =(deDittext)builder2.findviewbyid(r.id.price_search);
您应该在对话框方法下声明您的deDittext,例如
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();
希望这对您有帮助。