AlertDialog 获取选择的值

AlertDialog get selected value

此函数创建我的警报对话框,并添加两个侦听器,一个用于在用户单击 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;
        }
    });
}
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();
    }
}

参考:How can I get the results from an AlertDialog?

只需使用哪个值即可知道所选元素。

    @Override
public void onClick(DialogInterface dialog, int which) {
            //Get dialog selected value
            String[] sexArray =  getResources().getStringArray(R.array.sex_array);
            _sexText.setText(sexArray[which]);    

}