На моей домашней странице приложения google place
auto complete fragment
открывается при нажатии кнопки внутри диалоговой панели, и местоположение используется для поискового запроса. Проблема заключается в том, что когда я пытаюсь изменить местоположение, снова нажимая кнопку, приложение выходит из строя со следующей ошибкой.Ошибка Google PlaceAutocompleteFragment с ошибкой
*android.view.InflateException: Binary XML file line #24: Binary XML file line #24: Error inflating class fragment
Duplicate id 0x7f0e00db, tag null, or parent id 0xffffffff with another fragment for com.google.android.gms.location.places.ui.PlaceAutocompleteFragment*
Это активность нажатия кнопки и метод, который он вызывает.
case R.id.text_area:
EditLocation();
break;
private void EditLocation() {
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.area);
dialog.setTitle("Please enter the location");
PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
getFragmentManager().findFragmentById(R.id.autocomplete_fragment);
((EditText)autocompleteFragment.getView().findViewById(R.id.place_autocomplete_search_input)).setHint("Search Location");
//((EditText)autocompleteFragment.getView().findViewById(R.id.place_autocomplete_search_input)).setTextSize(10.0f);
//txtlocation=(TextView) findViewById(R.id.dialogLocationText);
autocompleteFragment.setOnPlaceSelectedListener(this);
Button dialogButtonSave = (Button) dialog.findViewById(R.id.btnOK);
// if button is clicked, close the custom dialog
dialogButtonSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//area=dialogLocation.getText().toString();
location.setText(area);
dialog.dismiss();
//autocompleteFragment.setText("");
}
});
dialog.show();
}
Ниже приводится код XML
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<android.support.v7.widget.CardView
android:layout_width="fill_parent"
android:layout_marginTop="10dp"
android:layout_height="35dp"
android:layout_gravity="center_vertical"
android:layout_marginBottom="10dp"
android:layout_weight=".335"
android:gravity="center"
android:textSize="13sp"
android:background="@android:color/white"
>
<fragment
android:id="@+id/autocomplete_fragment"
android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.v7.widget.CardView>
<Button
android:id="@+id/btnOK"
android:layout_width="350dp"
android:layout_margin="10dp"
android:layout_height="35dp"
android:text="OK"
android:background="@drawable/custom_btn_orange"/>
</LinearLayout>
Ниже приведены скриншоты того, как кнопка и фрагмент работать.
Ниже приводится LogCat
Е/AndroidRuntime: неустранимым: Основной процесса: com.itcastle.kleanify, ПИД: 3659 android.view.InflateException : Двоичная строка XML-файла # 24: двоичная строка XML-файла # 24: ошибка раздувания фрагмента класса на android.view.LayoutInflater.inflate (LayoutInflater.java:539) на android.view.LayoutInflater.inflate (LayoutInflater.java:423) на android.view.LayoutInflater.inflate (LayoutInflater.java:374) на com.android.internal.policy.PhoneWindow.setContentView (PhoneWindow.java: 393) в android.app.Dialog.setContentView (Dialog.java:512) в com.itcastle.kleanify.WelcomeHomeTemp.EditLocation (WelcomeHomeTemp.java:533) в com.itcastle.kleanify.WelcomeHomeTemp.onClick (WelcomeHomeTemp. java: 453) на android.view.View.performClick (View.java:5198) на android.view.View $ PerformClick.run (View.java:21147) на android.os.Handler.handleCallback (Handler. java: 739) на android.os.Handler.dispatchMessage (Handler.jav a: 95) на android.os.Looper.loop (Looper.java:148) на android.app.ActivityThread.main (ActivityThread.java:5417) на java.lang.reflect.Method.invoke (собственный метод) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) Причиненный: android.view .InflateException: двоичная строка XML-файла # 24: ошибка раздувания фрагмента класса на android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:782) на android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:704) на android. view.LayoutInflater.rInflate (LayoutInflater.java:835) at android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798) на android.view.LayoutInflater.rInflate (LayoutInflater.java:838) на android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798) на андроид. view.LayoutInflater.rInflate (LayoutInflater.java:838) на android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798) на android.view.LayoutInflater.inflate (LayoutInflater.java:515) на android.view. LayoutInflater.inflate (LayoutInflater.java: 423) на android.view.LayoutInflater.inflate (LayoutInflater.java:374) на com.android.internal.policy.PhoneWindow.setContentView (PhoneWindow.java:393) на android.app.Dialog.setContentView (Dialog.java:512) на com.itcastle.kleanify.WelcomeHomeTemp.EditLocation (WelcomeHomeTemp.java:533) на com.itcastle.kleanify.WelcomeHomeTemp.onClick (WelcomeHomeTemp.java:453) на android.view.View. performClick (View.java:5198) на android.view.View $ PerformClick.run (View.java:21147) на android.os.Handler.handleCallback (Handler.java:739) на android.os.Handler. dispatchMessage (Handler.java:95) на android.os.Looper.l oop (Looper.java:148) at android.app.ActivityThread.main (ActivityThread.java:5417) at java.lang.reflect.Method.invoke (собственный метод) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) Вызвано: java.lang.IllegalArgumentException: двоичная строка XML-файла # 24: Дубликат id 0x7f0e00db, тег null или родительский id 0xffffffff с другим фрагментом для com.google.android.gms.location.places.ui.PlaceAutocompleteFragment на android.app.FragmentManagerImpl.onCreateView (FragmentManager.java:2205) на android.app. FragmentController.onCreateView (FragmentController.java:98) на android.app.Activity.onCreate Просмотр (Activity.java:5546) на android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView (BaseFragmentActivityHoneycomb.java:36) в android.support.v4.app.FragmentActivity.onCreateView (FragmentActivity.java:75) в android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:754) на android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:704) на android.view.LayoutInflater.rInflate (LayoutInflater.java:835) на андроид. view.LayoutInflater.rInflateChildren (LayoutInflater.java:798) на android.view.LayoutInflater.rInflate (LayoutInflater.java:838) на android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798) в Androi d.view.LayoutInflater.rInflate (LayoutInflater.java:838) на android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798) на android.view.LayoutInflater.inflate (LayoutInflater.java:515) на андроид. view.LayoutInflater.inflate (LayoutInflater.java:423) на android.view.LayoutInflater.inflate (LayoutInflater.java:374) на com.android.internal.policy.PhoneWindow.setContentView (PhoneWindow.java:393) at android.app.Dialog.setContentView (Dialog.java:512) at com.itcastle.kleanify.WelcomeHomeTemp.EditLocation (WelcomeHomeTemp.java:533) at com.itcastle.kleanify.WelcomeHomeTemp.onClick (WelcomeHomeTemp.java:453) на android.view.View.performCl ick (View.java:5198) на android.view.View $ PerformClick.run (View.java:21147) на android.os.Handler.handleCallback (Handler.java:739) на android.os.Handler. dispatchMessage (Handler.java:95) на android.os.Looper.loop (Looper.java:148) на android.app.ActivityThread.main (ActivityThread.java:5417) на java.lang.reflect.Method. invoke (Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) I/Процесс: сигнал отправки. PID: 3659 SIG: 9 Приложение прекращено.
У меня много вопросов, и почти везде ответ заключается в том, чтобы добавить некоторые строки кода внутри onDestroyView()
, которые у меня нет. При первом щелчке фрагмент работает отлично, проблема в том, что я снова нажимаю кнопку, чтобы изменить местоположение, которое приложение полностью подавляет. Любое предложение приветствуется. Благодарю.
опубликовать ваш logcat – Gaurav
отредактировал вопрос. Добавлено logcat. Благодарю. –
нашел решение? @HasanSawan –