Java 从使用google maps place picker API获取的位置传递数据并将其发送到textView以供用户查看位置时遇到困难
我正在开发一个简单的应用程序,使用google place picker API检索一个地点的位置,但我无法检索数据并将其设置为textView。检索数据时,其他所有操作都是分开进行的。重写方法时,始终使用@Overide注释,以确保重写想要避免的方法下面的错误 下面是我的代码示例:Java 从使用google maps place picker API获取的位置传递数据并将其发送到textView以供用户查看位置时遇到困难,java,android,google-places-api,Java,Android,Google Places Api,我正在开发一个简单的应用程序,使用google place picker API检索一个地点的位置,但我无法检索数据并将其设置为textView。检索数据时,其他所有操作都是分开进行的。重写方法时,始终使用@Overide注释,以确保重写想要避免的方法下面的错误 下面是我的代码示例: public class MainActivity extends AppCompatActivity { private EditText name; private EditText email
public class MainActivity extends AppCompatActivity {
private EditText name;
private EditText email;
private TextView date;
private TextView location;
private Button Submit,Select;
private String NAME; // stores name value
private String EMAIL; // stores email value
private String DATE; // stores date value
private DatePickerDialog.OnDateSetListener dateSetListener;
int PLACE_PICKER_REQUEST = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name = (EditText)findViewById(R.id.edtNameID);
email = (EditText)findViewById(R.id.edtEmailID);
NAME = name.getText().toString();
EMAIL = email.getText().toString();
location = (TextView)findViewById(R.id.locationtxt);
date = (TextView)findViewById(R.id.txtSelectDate);
date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
java.util.Calendar calendar = java.util.Calendar.getInstance();
int month = calendar.get(java.util.Calendar.MONTH);
int year = calendar.get(java.util.Calendar.YEAR);
int day = calendar.get(java.util.Calendar.DAY_OF_MONTH);
month = month+1;
DatePickerDialog dialog = new DatePickerDialog(MainActivity.this,R.style.Theme_AppCompat_DayNight, dateSetListener,year,month,day);
dialog.show();
}
});
dateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
String result = day +"/" +month +"/"+year;
date.setText(result);
}
};
DATE = date.getText().toString();
Select = (Button)findViewById(R.id.SelectLocationbtn);
Select.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
try {
Intent intent = builder.build(MainActivity.this);
startActivityForResult(intent,PLACE_PICKER_REQUEST);
} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
}
});
Submit = (Button)findViewById(R.id.Submitbtn);
Submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
protected void OnActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode,resultCode,data);
if(requestCode==PLACE_PICKER_REQUEST){
if(resultCode== RESULT_FIRST_USER){
Place place = PlacePicker.getPlace(data, MainActivity.this);
String name = String.format("Place: %s",place.getName());
location.setText(name);
}
}
}
}
问题在于
OnActivityResult()
中的capitalO
最好使用@Override注释,以确保您正在重写要执行的方法:
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode,resultCode,data);
if(requestCode==PLACE_PICKER_REQUEST){
if(resultCode== RESULT_FIRST_USER){
Place place = PlacePicker.getPlace(data, MainActivity.this);
String name = String.format("Place: %s",place.getName());
location.setText(name);
}
}
}
非常感谢。很