标签: searchview

使用SearchView的Android abs,onQueryTextListener无效

我正在尝试使用带有操作栏sherlock的SearchView支持v4版本.

所以我在操作栏中有我的搜索按钮 - >当我触摸它时键盘显示和搜索栏也是如此.

我的问题是我需要使用侦听器onQueryTextSubmit和onQueryTextChange但它们永远不会被触发.我需要使用searh查询字符串并使用它做自定义的东西.

这是完整的activity.java

public class ActivityMain extends SherlockFragmentActivity implements OnQueryTextListener, DialogFragmentListener {
    /**
     * PRIVATE ATTRIBUTES
     */
    private static final String TAG                             = "ActivityMain";
    private ViewPager           _viewPager;
    private TabsAdapter         _tabsAdapter;
    private DialogFiltre        _dialogFiltre;
    private String              _searchCurrentQuery;
    // data
    private boolean             _doubleBackToExitPressedOnce    = false;


    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {

        menu.clear();
        switch ((int) _viewPager.getCurrentItem()) {
            case 0:
                getSupportMenuInflater().inflate(R.menu.empty_menu, menu);
                break;
            case 1:
                getSupportMenuInflater().inflate(R.menu.action_bar_menu, menu);
                break;
            case 2:
                getSupportMenuInflater().inflate(R.menu.empty_menu, menu);
                break;
        }
        return super.onPrepareOptionsMenu(menu);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu …
Run Code Online (Sandbox Code Playgroud)

java android searchable actionbarsherlock searchview

3
推荐指数
1
解决办法
5672
查看次数

ActionBarSherlock - SearchView为空?

我在SherlockListActivity中将Action功能添加到Action Bar但是,当我尝试实例化SearchView时,它始终为null:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getSupportMenuInflater().inflate(R.menu.activity_main_menu, menu);
    SearchView searchView = (SearchView) menu.findItem(R.id.activity_main_menu_search).getActionView();
    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener(){
            public boolean onQueryTextSubmit(String p1){
                List<Application> auxList = Search.search(mContext, p1);
                AdapterApp aux = new AdapterApp(mContext, auxList);
                setListAdapter(aux);
                getListView().setOnItemClickListener(aux.getItemClickListener());
                return true;
            }

            public boolean onQueryTextChange(String p1){
                return false;
            }           
    });
    return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)

activity_main_menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/activity_main_menu_search"
        android:title="@string/search"
        android:icon="@android:drawable/ic_menu_search"
        android:showAsAction="ifRoom|collapseActionView"
        android:actionViewClass="com.actionbarsherlock.widget.SearchView " />

    <item android:id="@+id/activity_main_menu_purchase"
        android:title="@string/purchase"
        android:icon="@drawable/ic_launcher_market_holo"
        android:showAsAction="ifRoom|collapseActionView" />

</menu>
Run Code Online (Sandbox Code Playgroud)

另外我要说我已正确导入所需的类:

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.OnNavigationListener;
import com.actionbarsherlock.app.SherlockListActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem; …
Run Code Online (Sandbox Code Playgroud)

android classnotfoundexception actionbarsherlock searchview

3
推荐指数
1
解决办法
3695
查看次数

在所有应用程序活动中重用Action Bar

我创建了一个MenuActivity,它有一个Action Bar和一个Split Action Bar.我想对我的应用程序中的所有活动使用此操作栏和splitactionbar视图.我是android的新手,所以有人可以逐步指导我.

此外,我试图将搜索图标放在动作栏上,该动作栏现在出现在SplitActionBar上.我在SplitActionBar上有四个图标,我想在操作栏上显示不在SplitActionBar上的搜索图标.搜索图标是一个SearchView项目,单击该项目会在ActionBar上展开,这非常不整洁.我希望它出现在ActionBar的最右边位置,并在单击时展开.

这是MenuACtivity.java:

package com.example.travelplanner;

import java.util.ArrayList;
import java.util.Timer;
import java.util.TimerTask;

import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.app.ActionBar;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SearchView;
import android.widget.TextView;

import com.example.travelplanner.R;

public class MenuActivity extends Activity implements OnItemClickListener{

    Timer t1;
    TimerTask tt1;
    ImageView slide;
    int currindex = 0;
    ActionBar actionBar;
    ArrayList<ItemDetails> image_details = …
Run Code Online (Sandbox Code Playgroud)

android menu android-actionbar searchview splitactionbar

3
推荐指数
1
解决办法
3474
查看次数

searchview不扩展全宽

基本上我希望searachview扩展和折叠,当后面有一个图像按钮时,当点击图标时它应该消失,当searchview崩溃时应该出现视图.

我正在使用搜索视图而不是在操作栏中.当我点击搜索图标时,它只扩展了一半的屏幕,但是它应该扩展完整的宽度,但是当我关闭搜索视图时应该是wrap_content.

<SearchView
        android:id="@+id/searchView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true">
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

android.view.ViewGroup.LayoutParams params = searchview.getLayoutParams();
params.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
Run Code Online (Sandbox Code Playgroud)

但我在这里得到错误setLayoutParams它说"添加到演员"

android layoutparams searchview

3
推荐指数
1
解决办法
6969
查看次数

如何知道SearchView在操作栏中何时关闭?

我有一个问题:我有listView一个Fragment,我实现了一个搜索查看(的actionView)来过滤列表listView与搜索查看onQueryTextChange事件.我在这部分没有问题,一切正常.

adapter = new ListaEmpleadosAdapter(getActivity(), empleadoItems, context);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_buscar).getActionView();

SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
    @Override
    public boolean onQueryTextSubmit(String s) {
        return false;
    }

    @Override
    public boolean onQueryTextChange(String s) {
        try {
            adapter.getFilter().filter(s);
            adapter.notifyDataSetChanged();
        } catch (Exception e) {
            System.err.println("ERROR FragmentEmpleado -> " + e.toString());
        }
        return true;
    }
};
Run Code Online (Sandbox Code Playgroud)

当我第一次搜索并按下后退按钮时,软键盘关闭.这很正常.当我再次按下后退按钮时,searchView关闭,这是正常的,但列表不会返回初始项目.

当searchView被折叠(因为searchView.setOnCloseListener不起作用)以恢复初始列表项时,如何获取事件?或者以任何方式恢复删除适配器过滤器的初始列表项...

历史:

  1. 员工名单

员工名单

  1. 具有特定过滤器的员工列表(按下第一个后退按钮后,键盘关闭)

具有特定过滤器的员工列表

  1. 已关闭searchView的员工列表(但在按下第二个按钮后没有恢复原始列表)

关闭searchView的员工列表

非常感谢!

android listview list searchview

3
推荐指数
1
解决办法
1440
查看次数

如何在点击"搜索"菜单时更改操作栏背景?

我已经浏览了Android开发者网站上的搜索界面教程并成功实施了.

我唯一无法实现的是点击搜索菜单更改操作栏背景并单击"返回"按钮将其还原?

以下是Gmail应用的截图.正常的操作栏看起来像这样.

在此输入图像描述

当您单击"搜索"菜单时,它会更改为如下所示,而不会更改活动.

在此输入图像描述

我想实现这个功能.请帮忙.谢谢.

android android-actionbar searchview

3
推荐指数
1
解决办法
1727
查看次数

如何删除或更改SearchView actionBar中的searchview图标?

截图

如何删除或更改edittext中的搜索视图图标?我正在使用Appcompat库.

我使用下面的代码来修改和删除但它不起作用:

SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    View search_mag_icon = (View)searchView.findViewById(android.support.v7.appcompat.R.id.search_mag_icon);
        search_mag_icon.setBackgroundResource(R.drawable.ic_stub);
        //search_mag_icon.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-actionbar searchview

3
推荐指数
2
解决办法
6104
查看次数

如何实现WhatsApp像材料设计SearchView?

WhatsApp有这样的工具栏: 在此输入图像描述

单击"搜索"菜单项时,从顶部的SearchView下来,占用工具栏的整个空间: 在此输入图像描述

当我尝试实现SearchView时,它看起来像这样: 在此输入图像描述

我找到了一些实现这个的库: Eugene Horan的Android Material SearchViewkrishnakapil的MaterialSearchView.但它们与WhatsApp不同.

这个问题可能看起来很奇怪,我找不到怎么做的方法.所以我的问题是如何实现WhatsApp之类的材料设计SearchView来自顶级?

android whatsapp searchview material-design android-toolbar

3
推荐指数
2
解决办法
2万
查看次数

Android Searchview后退按钮颜色变化

如何在searchview中更改黑色箭头(后退按钮)的颜色我尝试使用下面的代码进行自定义

    ImageView backid = (ImageView) searchViewAndroidActionBar.findViewById(R.id.search_button);
    backid.setColorFilter(ContextCompat.getColor(Shopping_CategoriesCommon.this, R.color.white), PorterDuff.Mode.SRC_IN);
    backid.setImageResource(R.drawable.search);
Run Code Online (Sandbox Code Playgroud)

但它不起作用

android searchview

3
推荐指数
2
解决办法
2980
查看次数

如何在SearchView中创建可见提示

我想在我的搜索视图中为用户创建提示,但是在用户按下放大镜图标之前,提示不可见.即使用户没有像编辑文本那样点击任何内容,有没有办法显示提示?此外,我希望搜索视图的边框可见而不仅仅是图标,有没有办法实现它?提前致谢.

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/header_image_id"
            android:orientation="vertical"
            android:layoutDirection="rtl">

            <TextView
                android:id="@+id/text_view_id"
                android:layout_width="200dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:textAlignment="center"
                android:text="Enter your search request here?"/>


            <SearchView
                android:id="@+id/search_view_id"
                android:layout_width="250dp"
                android:layout_height="wrap_content"
                android:queryHint="This is a hint" />


        </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android searchview

3
推荐指数
1
解决办法
1176
查看次数