Изменение языка Google помещает предсказание автозаполненияAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Изменение языка Google помещает предсказание автозаполнения

Сообщение Anonymous »

Я использую Google Map и Google размещает API в моем приложении Android. У меня есть проблема с предсказанием автозаполнения, я пытаюсь искать персидский адрес, но я получаю результат к английскому языку. Я также получаю основной текст в персидском языке, но проблема заключается в второстепенном тексте (название страны и города), то есть английский всегда; Как это: < /p>

خیابان چارمردون ، Иран, Тегеран < /p>

Я пытался решить эту проблему, и когда я изменил свой язык телефона на персидский, результаты показали на персидском языке. Кто -нибудь знает, как я могу это исправить?AutocompleteFilter provideAutoCompleteFilter() {
return new AutocompleteFilter.Builder()
.setCountry("IR")
.build();
}
< /code>

Это мой адаптер: < /p>

public class PlaceArrayAdapter extends ArrayAdapter implements Filterable {

private static final String TAG = "PlaceArrayAdapter";
private GoogleApiClient mGoogleApiClient;
private AutocompleteFilter mPlaceFilter;
private LatLngBounds mBounds;
private ArrayList mResultList;
private LayoutInflater inflater;

public PlaceArrayAdapter(Context context, int resource, LatLngBounds bounds,
AutocompleteFilter filter) {
super(context, resource);
mBounds = bounds;
mPlaceFilter = filter;
inflater = LayoutInflater.from(getContext());
}

public void setGoogleApiClient(GoogleApiClient googleApiClient) {
if (googleApiClient == null || !googleApiClient.isConnected()) {
mGoogleApiClient = null;
} else {
mGoogleApiClient = googleApiClient;
}
}

@Override
public int getCount() {
return mResultList.size();
}

@Override
public PlaceAutoComplete getItem(int position) {
return mResultList.get(position);
}

@Override
public Filter getFilter() {
Filter filter = new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {

FilterResults results = new FilterResults();
if (constraint != null) {
mResultList = getPredictions(constraint);

if (mResultList != null) {
results.values = mResultList;
results.count = mResultList.size();
}
}

return results;
}

@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
if (results != null && results.count > 0) {
// The API returned at least one result, update the data.
notifyDataSetChanged();
} else {
// The API did not return any results, invalidate the data set.
notifyDataSetInvalidated();
}
}
};
return filter;
}

private ArrayList getPredictions(CharSequence constraint) {

if (mGoogleApiClient != null) {

Log.i(TAG, "Executing autocomplete query for -----> " + constraint);

PendingResult results = Places.GeoDataApi
.getAutocompletePredictions(mGoogleApiClient, constraint.toString(),
mBounds, mPlaceFilter);

// Wait for predictions, set the timeout.
AutocompletePredictionBuffer autocompletePredictions = results
.await(60, TimeUnit.SECONDS);

final Status status = autocompletePredictions.getStatus();
if (!status.isSuccess()) {
Log.e(TAG, "Error getting place predictions -----> " + status
.toString());
autocompletePredictions.release();
return null;
}

Log.i(TAG, "Query completed. Received -----> " + autocompletePredictions.getCount()
+ " predictions.");
Iterator iterator = autocompletePredictions.iterator();
ArrayList resultList = new ArrayList(autocompletePredictions.getCount());
while (iterator.hasNext()) {
AutocompletePrediction prediction = iterator.next();
resultList.add(new PlaceAutoComplete(prediction.getPlaceId(),
prediction.getFullText(null)));
}
// Buffer release
autocompletePredictions.release();
return resultList;
}

Log.e(TAG, " -----> Google API client is not connected.");
return null;
}

@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
ViewGroup viewGroup = (ViewGroup) inflater.inflate(R.layout.auto_complete_text_view,parent,false);
TextView tv = viewGroup.findViewById(R.id.tv);
tv.setText(getItem(position).description);
return viewGroup;
}

public class PlaceAutoComplete {

public CharSequence placeId;
public CharSequence description;

PlaceAutoComplete(CharSequence placeId, CharSequence description) {
this.placeId = placeId;
this.description = description;
}

@Override
public String toString() {
return description.toString();
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/524 ... prediction
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • ML.NET сочетает прогноз и предсказание
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • ML.NET сочетает прогноз и предсказание
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Как позволить выбору модели ИИ, чтобы сделать предсказание или нет для каждой данные в наборе
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Как позволить выбору модели ИИ, чтобы сделать предсказание или нет для каждой данные в наборе [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Как настроить команду автозаполнения Office Script для динамического автозаполнения до последней строки?
    Гость » » в форуме Javascript
    0 Ответы
    65 Просмотры
    Последнее сообщение Гость

Вернуться в «Android»