在我的应用程序主页上google place
自动完成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的
E/AndroidRuntime:致命异常:主 工艺:com.itcastle.kleanify,PID:3659 android.view.InflateException :二进制XML文件行#24:二进制XML文件行#24:在android.view.LayoutInflater.inflate(LayoutInflater.java:539)错误的扩展类片段 at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at 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) at android.view.View.performClick(View.java:5198) at android.view.View $ PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler。 java:739) at android.os.Handler.dispatchMessage(Handler.jav a:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at 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) 引起:android.view .InflateException:二进制XML文件行#24:错误在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:782) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 在类的片段 错误。 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) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) at android.view。 LayoutInflater.inflate(LayoutInflater。java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at 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) at android.view.View。在android.os.Handler上的android.os.Handler.handleCallback(Handler.java:739) 上执行ClickClick(View.java:5198) at android.view.View $ PerformClick.run(View.java:21147) 。 dispatchMessage(Handler.java:95) at android.os.Looper.l oop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at 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) 导致:java.lang.IllegalArgumentException:二进制XML文件行#24:重复的id 0x7f0e00db,标记null或父标识0xffffffff与com.google.android.gms.location.places.ui.PlaceAutocompleteFragment 的另一个片段位于android.app.android.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2205) 处。 FragmentController.onCreateView(FragmentController.java:98) at android.app.Activity.onCreate查看(Activity.java:5546) at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:36) at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:75) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:754) 在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 在android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 在机器人。 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at androi(android.view.LayoutInflater.rInflate d.view.LayoutInflater.rInflate(LayoutInflater.java:838) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) at android。 view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393) at android.app.Dialog.setContentView(Dialog.java:512) 在com.itcastle.kleanify.WelcomeHomeTemp.EditLocation(WelcomeHomeTemp.java:533) 在com.itcastle.kleanify.WelcomeHomeTemp.onClick(WelcomeHomeTemp.java:453) at android.view.View.performCl ick(View.java:5198) at android.view.View $ PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler。 dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method。调用(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 –