【问题标题】:creating an AutoCompleteTextView inside alertDialog在 alertDialog 中创建 AutoCompleteTextView
【发布时间】:2014-01-09 04:04:33
【问题描述】:

我正在尝试在 AlertDialog 中添加一个 AutoCompleteTextBox,但我不知道该怎么做。任何有关相同的帮助将不胜感激。同样在那个 AutoCompleteTextBox 中,我想通过 google Places API 显示这些地方。我已经为此实现了 google Places API,如果我为此运行 url,它会显示结果,但是当我在 AutoCompleteText 框中输入 2 个或更多字符时,它会显示以下错误:

12-20 15:28:39.020: E/AndroidRuntime(19180): FATAL EXCEPTION: main
12-20 15:28:39.020: E/AndroidRuntime(19180): android.view.InflateException: Binary XML file line #47: Error inflating class fragment
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:371)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.widget.AbsListView.obtainView(AbsListView.java:2340)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.widget.ListPopupWindow$DropDownListView.obtainView(ListPopupWindow.java:1236)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.widget.ListView.measureHeightOfChildren(ListView.java:1250)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1123)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.widget.ListPopupWindow.show(ListPopupWindow.java:532)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.widget.AutoCompleteTextView.showDropDown(AutoCompleteTextView.java:1081)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.widget.AutoCompleteTextView.updateDropDownForFilter(AutoCompleteTextView.java:956)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.widget.AutoCompleteTextView.onFilterComplete(AutoCompleteTextView.java:938)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.widget.Filter$ResultsHandler.handleMessage(Filter.java:285)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.os.Handler.dispatchMessage(Handler.java:99)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.os.Looper.loop(Looper.java:153)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.app.ActivityThread.main(ActivityThread.java:4987)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at java.lang.reflect.Method.invokeNative(Native Method)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at java.lang.reflect.Method.invoke(Method.java:511)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at dalvik.system.NativeStart.main(Native Method)
    12-20 15:28:39.020: E/AndroidRuntime(19180): Caused by: java.lang.IllegalArgumentException: Binary XML file line #47: Duplicate id 0x7f05000e, tag null, or parent id 0x0 with another fragment for com.google.android.gms.maps.SupportMapFragment
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:296)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
    12-20 15:28:39.020: E/AndroidRuntime(19180):    ... 22 more

以下是我如何实现适配器:

AutoCompleteTextView autoCompView = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
autoCompView.setAdapter(new PlacesAutoCompleteAdapter(this, R.layout.list_item));

list_item中的AutoCompleteTextView如下:

<AutoCompleteTextView
        android:id="@+id/autoCompleteTextView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/BookCabtxt"
        android:ems="10"
        >
    </AutoCompleteTextView>

注意:这仅用于试用目的。实际上,我想把这个 AutoCompleteTextView 放在一个 AlertDialog 中。所以我主要有两个疑问:

1>creating an AutoCompleteTextView inside alertDialog
2>Generating results in that AutoCompleteTextView

如果有什么不清楚的地方请在 cmets 中询问。提前谢谢并原谅我的英语和对 Android 开发的无知。

【问题讨论】:

  • 什么是 xml 中的第 47 行
  • 能否给我们看一下整个xml,请指出哪一行是47?
  • 这是第 47 行的代码:
  • 确保YourActivity extends FragmentActivity

标签: android google-places-api android-alertdialog autocompletetextview


【解决方案1】:

您需要使用您为对话框创建的视图。你应该有这样的东西。

LayoutInflater factory = LayoutInflater.from(MyActivity.this);
final View textEntryView = factory.inflate(R.layout.my_layout, null); 
AutoCompleteTextView textViewCountry = (AutoCompleteTextView)textEntryView.findViewById(com.example.FindItNear.R.id.autocomplete_radius);

这是一个可以帮助你的链接:AutoCompleteTextView implementation on the AlertDialog

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多