当我按DONE时什么也没发生

时间:2018-06-22 14:55:51

标签: android

我刚刚开始研究android,并且对此遇到了麻烦。 我想在地图上显示搜索到的位置,但是当我按“完成”时,什么也没发生,我跟随着我看到的所有视频和网站,但是仍然一样。

这里是我的代码:

@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    if (actionId == EditorInfo.IME_ACTION_DONE || event.getAction() == KeyEvent.ACTION_DOWN
            || event.getAction() == KeyEvent.KEYCODE_ENTER)
    {
        try {
            EditText et = findViewById(R.id.txtsearch);
            String location = et.getText().toString();

            Geocoder geocoder =new Geocoder(this);
            List<Address> list = geocoder.getFromLocationName(location,1);
            Address address = list.get(0);
            String str = address.getLocality();

            Toast.makeText(this,str,Toast.LENGTH_LONG).show();
            zoomToLocation(address.getLatitude(),address.getLongitude(),15);

        } catch (IOException e) {
            e.printStackTrace();
        }
        return true;
    }
    return false;
}

我做了一个工具栏,里面是edittext 这是我的布局代码:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MapsActivity"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_marginRight="10dp"
    android:layout_marginLeft="10dp"
    android:background="@drawable/txtsearch_bg"
    android:id="@+id/searchwidget"
    android:visibility="gone">

    <ImageView
        android:id="@+id/magnify"
        android:layout_width="15dp"
        android:layout_height="15dp"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:src="@drawable/ic_action_search_light"
        android:layout_marginStart="10dp" />

    <EditText
        android:id="@+id/txtsearch"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@id/magnify"
        android:background="@null"
        android:hint="@string/search_place"
        android:imeOptions="actionDone"
        android:inputType="text"
        android:textColor="#000"
        android:textSize="16sp"
        android:selectAllOnFocus="true"
        android:singleLine="true"
        android:maxLines="1"
        android:layout_toEndOf="@id/magnify" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

您是否在imeOptions xml上设置了EditText属性:

<EditText 
    android:inputType="text"
    android:maxLines="1"
    android:imeOptions="actionDone" />