Как открыть новое действие, нажав на SearchView - PullRequest
0 голосов
/ 18 февраля 2020

Я создал Android проект, в котором я использую вид поиска. Я хочу открыть новое действие, нажав SearchView. Когда я нажимаю значок SearchView, он работает отлично, но когда я щелкаю в пустом пространстве SearchView, появляется клавиатура, и новое действие не открывается.

Мой java код:

searchView=root.findViewById(R.id.search);
searchView.setIconifiedByDefault(true);
searchView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent searchIntent=new Intent(getActivity(),Notification_activity.class);
        getActivity().startActivity(searchIntent);
    }
}); 

Мой XML:

<SearchView
    android:id="@+id/search"
    android:layout_width="333dp"
    android:layout_height="40dp"
    android:layout_marginStart="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginBottom="8dp"
    android:background="@drawable/search_round_corner"
    android:iconifiedByDefault="false"
    android:queryHint="Enter text to search"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">
</SearchView>  

Ответы [ 3 ]

0 голосов
/ 18 февраля 2020

для этого следует использовать прослушиватель запросов, поскольку после ввода одного слова он переходит ко второму действию, когда вы отправляете кнопку с клавиатуры и выполняете функцию просмотра в поиске. вот код

 searchView.OnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {
            String text = s;
            if (text.length() > 0) {
                startActivity(new Intent(Class A Context, Sceond Class B));
            }
            return false;
        }

        @Override
        public boolean onQueryTextChange(String s) {
            return false;
        }
    });
0 голосов
/ 19 февраля 2020

используйте этот код,

searchView.setOnSearchClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(A.this, B.class));
        }
    });
0 голосов
/ 18 февраля 2020
searchView.setOnSearchClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i = new Intent(this,page,class);
            startActivity(i);
        }
    });
    searchView.setOnCloseListener(new SearchView.OnCloseListener() {
        @Override
        public boolean onClose() {
            //do what you want  searchview is not expanded
            return false;
        }
    });
...