如何访问ToolBar中添加的EditText的值

时间:2016-08-02 07:08:27

标签: android android-layout

我在布局的工具栏中添加了一个EditText。我想从软键盘按下完成后访问EditText的值。我已经在我的活动的onCreate()中初始化了EditText。我想访问此EditText值并提供给我的api调用。

这里是我的xml布局

*

这是我的onCreate()

<FrameLayout
    android:id="@+id/toolbar_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/app_bar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:theme="@style/Toolbar" >
        <EditText
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/search_edit_text"
            android:singleLine="true"
            android:textCursorDrawable="@drawable/edit_text_cursor"
            android:backgroundTint="@android:color/white"
            android:imeOptions="actionSearch"
             />
        </android.support.v7.widget.Toolbar>

</FrameLayout>

<android.support.v7.widget.RecyclerView
    android:id="@+id/rv_ff"
    android:layout_below="@+id/toolbar_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />


<ImageView
    android:id="@+id/iv_ff"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:src="@drawable/stat_no_connection"
    android:visibility="invisible" />

<ProgressBar
    android:id="@+id/prog_bar_ff"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_centerInParent="true"
    />
<ImageView
    android:id="@+id/nothing_to_show_here"
    android:layout_width="match_parent"
    android:layout_below="@+id/toolbar_container"
    android:layout_height="match_parent"
    android:src="@drawable/stat_nothing_gray"
    android:scaleType="fitCenter"
    android:layout_centerInParent="true"
    android:visibility="invisible"/>

`

1 个答案:

答案 0 :(得分:1)

您的searchEditText位于工具栏中,因此请从工具栏中获取。

  Toolbar  toolbar = (Toolbar) findViewById(R.id.app_bar);
  searchEditText = (EditText) toolbar.findViewById(R.id.search_edit_text);

  done.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            String value = searchEditText.getText().toString();
            }
        });