私はStackOverflowを初めて使うので、間違いがあれば謝罪します。私が抱えている問題は、私がAndroid AppでGooglePlacesAutocomplete Activityを使用するたびに、アドレスを入力するとtextviews.Whileが両方とも満たされます。私が「自分の出発点」をクリックするたびにその方法で動作するようにしたいplacesautocompleteアクティビティに入力すると、入力した住所は「あなたの出発点」のテキストビューでのみ満たされ、「あなたの目的地」と同様になります。GooglePlacesAutocompleteは、あなたの出発地と目的地の両方のテキストビューに同じアドレスを返します。
それでは、また、Datetextviewで「日付 - 年 - 年」の代わりに「今日」または「明日」を取得する方法についても説明します。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_find_sameway_rides);
eet1 = (TextView) findViewById(R.id.eet1);
eet2 = (TextView) findViewById(R.id.eet2);
eet1.setOnClickListener(this);
eet2.setOnClickListener(this);
// Open the autocomplete activity when the TextView is clicked.
TextView openTextview = (TextView) findViewById(R.id.eet1);
assert openTextview != null;
openTextview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v == eet1)
openAutocompleteActivity();
}
});
// Open the autocomplete activity when the TextView is clicked.
TextView openTextView = (TextView) findViewById(R.id.eet2);
assert openTextView != null;
openTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v == eet2)
openAutocompleteActivity();
}
});
timetext = (TextView) findViewById(R.id.timetext);
datetext = (TextView) findViewById(R.id.datetext);
timetext.setOnClickListener(this);
datetext.setOnClickListener(this);
}
protected void openAutocompleteActivity() {
try {
// The autocomplete activity requires Google Play Services to be available. The intent
// builder checks this and throws an exception if it is not the case.
Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN)
.build(this);
startActivityForResult(intent, 1);
} catch (GooglePlayServicesRepairableException e) {
// Indicates that Google Play Services is either not installed or not up to date. Prompt
// the user to correct the issue.
GoogleApiAvailability.getInstance().getErrorDialog(this, e.getConnectionStatusCode(),
0 /* requestCode */).show();
} catch (GooglePlayServicesNotAvailableException e) {
// Indicates that Google Play Services is not available and the problem is not easily
// resolvable.
String message = "Google Play Services is not available: " +
GoogleApiAvailability.getInstance().getErrorString(e.errorCode);
Log.e(TAG, message);
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
}
/**
* Called after the autocomplete activity has finished to return its result.
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Check that the result was from the autocomplete widget.
if (requestCode == REQUEST_CODE_AUTOCOMPLETE) {
if (resultCode == RESULT_OK) {
// Get the user's selected place from the Intent.
Place place = PlaceAutocomplete.getPlace(this, data);
Log.e(TAG, "Place: " + place.getAddress());
assert findViewById(R.id.eet1) != null;
((TextView) findViewById(R.id.eet1))
.setText(place.getName() + ",\n" +
place.getAddress());
} else if (resultCode == PlaceAutocomplete.RESULT_ERROR) {
Status status = PlaceAutocomplete.getStatus(this, data);
Log.e(TAG, "Error: Status = " + status.toString());
} else if (resultCode == RESULT_CANCELED) {
// Indicates that the activity closed before a selection was made. For example if
// the user pressed the back button.
}
}
// Check that the result was from the autocomplete widget.
if (requestCode == REQUEST_CODE_AUTOCOMPLETE) {
if (resultCode == RESULT_OK) {
// Get the user's selected place from the Intent.
Place place = PlaceAutocomplete.getPlace(this, data);
Log.e(TAG, "Place: " + place.getAddress());
assert findViewById(R.id.eet2) != null;
((TextView) findViewById(R.id.eet2))
.setText(place.getName() + ",\n" +
place.getAddress());
} else if (resultCode == PlaceAutocomplete.RESULT_ERROR) {
Status status = PlaceAutocomplete.getStatus(this, data);
Log.e(TAG, "Error: Status = " + status.toString());
} else if (resultCode == RESULT_CANCELED) {
// Indicates that the activity closed before a selection was made. For example if
// the user pressed the back button.
}
}
}
@Override
public void onClick(View v) {
if (v == datetext) {
// Process to get Current Date
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
// Launch Date Picker Dialog
DatePickerDialog dpd = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
// Display Selected date in textbox
datetext.setText(dayOfMonth + "-"
+ (monthOfYear + 1) + "-" + year);
}
}, mYear, mMonth, mDay);
dpd.show();
}
if (v == timetext) {
// Process to get Current Time
final Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
// Launch Time Picker Dialog
TimePickerDialog tpd = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
// Display Selected time in textbox
timetext.setText(hourOfDay + ":" + minute);
}
}, mHour, mMinute, false);
tpd.show();
}
}
スクリーンショットをアップロードできません! – Shubhendra
問題が解決しました。 – Shubhendra