これが私の問題です:私は3つのビューを持つpageadapterを持っています.左のものはユーザーをローカライズし、いくつかのeditTextフィールドにローカライズされたアドレスのさまざまな要素を入力するために使用されます.
private boolean getAddressLocation(Location location) {
if (location != null) {
lat = location.getLatitude();
longi = location.getLongitude();
Geocoder gc = new Geocoder(NoteReminder.this, Locale.getDefault());
try {
List<Address> addresses = gc.getFromLocation(lat, longi, 1);
if (addresses.size() > 0) {
Address address = (Address) addresses.get(0);
streetNumber = address.getAddressLine(0);
locality = address.getLocality();
postcode = address.getPostalCode();
country = address.getCountryName();
etCountry.setText(country, TextView.BufferType.EDITABLE);
etPostcode.setText(postcode, TextView.BufferType.EDITABLE);
etLocality.setText(locality, TextView.BufferType.EDITABLE);
etAddressText.setText(streetNumber, TextView.BufferType.EDITABLE);
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
問題は、ローカリゼーションが十分に正確ではなかった場合にユーザーが editText を編集できるようにしたいということですが、これらのフィールドを編集するときにメインのアクティビティに戻ります (場所は の左側にありました)。私のpageadapter、これは真ん中にあり、最後のものは正しいものです)アクティビティからのすべてのデータをSQLiteデータベースに保存するボタンがあります...すべて正常に機能しますが、アドレスのeedditTextフィールドを変更するとアドレスの場所からいくつかの setText が自動的に入力されました。データベースに保存されている値は、まだ editText のフィールドに自動的に入力されています ...
...
etCountry = (EditText) findViewById(R.id.etCountry);
etPostcode = (EditText) findViewById(R.id.etPostcode);
etLocality = (EditText) findViewById(R.id.etLocality);
etAddressText = (EditText) findViewById(R.id.etAddressText);
display = etAddressText.getText() + "," + etLocality.getText() + "," + etPostcode.getText()
+ "," + etCountry.getText();
...
理解できない ?editText が .setText("...") で満たされると、もう変更できないということですか?