此函数创建我的警告对话框,并添加两个侦听器,一个用于在用户单击EditText时显示对话框,另一个用于在选择AlertDialog值时关闭并填充EditText。
我正在尝试检索AlertDialog的选定值,以便填充EditText。
我知道我可以在哪里找到这个值,但不幸的是,我不知道如何。
public void addSex () {
final AlertDialog.Builder builder = new AlertDialog.Builder(SignupActivity.this);
builder.setTitle("Votre sexe").setItems(R.array.sex_array,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Get dialog selected value
}
}
);
_sexText.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
AlertDialog dialog = builder.create();
if (event.getAction() == MotionEvent.ACTION_DOWN) dialog.show();
return false;
}
});
}
答案 0 :(得分:1)
public class ABC extends Activity {
private String result;
// other activity stuff
void showDialog(){
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setTitle("Please enter a password");
final EditText input = new EditText(this);
b.setView(input);
b.setPositiveButton("OK", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int whichButton)
{
// SHOULD NOW WORK
result = input.getText().toString();
}
});
b.setNegativeButton("CANCEL", null);
b.create().show();
}
}
答案 1 :(得分:0)
只需使用哪个值来了解所选元素。
@Override
public void onClick(DialogInterface dialog, int which) {
//Get dialog selected value
String[] sexArray = getResources().getStringArray(R.array.sex_array);
_sexText.setText(sexArray[which]);
}