全局变量值没有改变
问题描述:
我创建了一个按钮,点击后会打开一个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();
}
});
答
请更换从AlertDialog代码对话框,如下,它应该是你
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();
+0
我没有得到它...我想使用位置变量,用户在API网址中的警报对话框中输入获取天气..所以这将如何帮助......? –
工作,你必须声明的“位置”变量作为字符串和能源部它全局声明? –
哟完成它...说,有问题.. –
请再次检查editText R.id.location_input是否存在于各自的布局或不。用ctrl + B检查。有时微小的错误使空指针Exp –