无法让 AutoCompleteTextView 与其他组件一起显示

Cannot get AutoCompleteTextView to show with other components

我正在尝试构建一个简单的 Android 应用程序,其中一个活动将包含 Google 地点 AutoCompleteTextView 以及 Button 和其他几个组件。但是,似乎 AutoCompleteTextView 组件不想与其他任何东西友好地玩。目前,我一次只能渲染一个(AutoCompleteTextView 组件)或其他组件。以下是我的代码的相关部分:

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <AutoCompleteTextView
        android:id="@+id/autoCompleteTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:text="Please enter your place" >
        <requestFocus />
    </AutoCompleteTextView>

    <Button
        android:id="@+id/btnChangeDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Change Date" />

    <TextView
        android:id="@+id/lblDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Current Date (M-D-YYYY): "
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/tvDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <DatePicker
        android:id="@+id/dpResult"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

list_item.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

GooglePlacesAutocompleteActivity.java

public class GooglePlacesAutocompleteActivity extends Activity implements OnItemClickListener {

    // class fields are here ...

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        setCurrentDateOnView();    // sets up the date picker
        addListenerOnButton();     // adds a listener to a Button

        // next three lines configure the Google Place autocomplete
        AutoCompleteTextView autoCompView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
        autoCompView.setAdapter(new GooglePlacesAutocompleteAdapter(this, R.layout.list_item));
        autoCompView.setOnItemClickListener(this);
    }

    // more methods...
}

如果您需要更多信息来在此处提供答案,请随时询问我,我会尽快 post。

您好,您的 LinearLayout 中存在方向问题。我想您希望您的 AutocompleteTextView 位于其余部分之上。如果是这种情况,您可能应该添加一个嵌套的 LinearLayout。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical" >

      <AutoCompleteTextView
          android:id="@+id/autoCompleteTextView"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:ems="10"
          android:text="Please enter your place" >
          <requestFocus />
      </AutoCompleteTextView>

      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:orientation="horizontal" >

          [your other items]

     </LinearLayout>

</LinearLayout>

如果这不是您要查找的内容,只需将 match_parent 更改为 wrap_content 以获取 AutocompleteTextView 的宽度。