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

时间:2015-10-28 16:06:02

标签: java android google-maps autocompletetextview

我正在尝试构建一个简单的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...
}

如果您需要更多信息来提供答案,请随时问我,我会尽快发布。

1 个答案:

答案 0 :(得分:1)

嗨您在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的宽度。