我创建了一个按钮,在单击时会打开一个AlertDialog,用于输入位置为全局变量的输入。问题甚至是在为onClickListener指定可变位置后仍然显示空值...
String location = "";
TextView details;
TextView cityName;
TextView temp;
Button locationInput;
static String tempString = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
details = (TextView) findViewById(R.id.details_field);
cityName = (TextView) findViewById(R.id.city_name);
temp = (TextView) findViewById(R.id.current_temperature_field);
locationInput = (Button) findViewById(R.id.button_location_input);
locationInput.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this);
LayoutInflater inflater = MainActivity.this.getLayoutInflater();
View view = inflater.inflate(R.layout.dialog_box,null);
alertDialog.setView(view);
alertDialog.setTitle("Enter the location");
final EditText locationInput = (EditText) view.findViewById(R.id.location_input);
locationInput.setInputType(InputType.TYPE_CLASS_TEXT);
alertDialog.setPositiveButton("Accept", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
location = locationInput.getText().toString();
Log.i("Location",location);
locationInput.setVisibility(View.GONE);
tempString = location;
dialog.dismiss();
}
});
alertDialog.setNegativeButton("Deny", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog create = alertDialog.create();
create.show();
}
});
答案 0 :(得分:0)
请将AlertDialog中的代码替换为Dialog,如下所示,它应该适合您
Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.custom);
dialog.setTitle("Title...");
// set the custom dialog components - text, image and button
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setText("Android custom dialog example!");
ImageView image = (ImageView) dialog.findViewById(R.id.image);
image.setImageResource(R.drawable.ic_launcher);
Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
// if button is clicked, close the custom dialog
dialogButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();