【问题标题】:How to search a custom listview如何搜索自定义列表视图
【发布时间】:2013-08-18 22:04:12
【问题描述】:

所以我有一个带有它自己的适配器类的自定义列表视图,并且该列表视图有 2 个文本视图和一个图像视图。我希望用户能够单击操作栏中的搜索按钮并在我的自定义列表中搜索任一文本视图。问题是,我不知道该怎么做。如果有人可以帮助我,将不胜感激。谢谢!另附注:我正在使用 ActionBarSherlock

这是我的列表视图的适配器:

public class ItemIDAdapter extends ArrayAdapter<String> {

    private LayoutInflater mInflater;

    private String[] mStrings;
    private String[] mIds;
    private TypedArray mIcons;

    private int mViewResourceId;

    public ItemIDAdapter(Context ctx, int viewResourceId,
            String[] strings, String[] ids, TypedArray icons) {
        super(ctx, viewResourceId, strings);

        mInflater = (LayoutInflater)ctx.getSystemService(
                Context.LAYOUT_INFLATER_SERVICE);

        mStrings = strings;
        mIds = ids;
        mIcons = icons;

        mViewResourceId = viewResourceId;
    }

    @Override
    public int getCount() {
        return mStrings.length;
    }

    @Override
    public String getItem(int position) {
        return mStrings[position];
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        convertView = mInflater.inflate(mViewResourceId, null);

        ImageView iv = (ImageView)convertView.findViewById(R.id.option_icon);
        iv.setImageDrawable(mIcons.getDrawable(position));

        TextView tv = (TextView)convertView.findViewById(R.id.option_text);
        tv.setText(mStrings[position]);

        TextView tv1 = (TextView)convertView.findViewById(R.id.itemids);
        tv1.setText(mIds[position]);

        return convertView;
    }
}

这是我显示列表视图的类:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Context ctx = getApplication();
        Resources res = ctx.getResources();

        String[] options = res.getStringArray(R.array.item_ids);
        String[] ids = res.getStringArray(R.array.item_names);
        TypedArray icons = res.obtainTypedArray(R.array.item_images);

        setListAdapter(new ItemIDAdapter(ctx, R.layout.idslistitem, ids, options, icons));
        }

【问题讨论】:

    标签: android listview search actionbarsherlock adapter


    【解决方案1】:

    您可以搜索用户在您的 mString 变量中写入的文本。

    这个链接可以帮助你:http://www.androidpit.com/en/android/forum/thread/550920/Tutorial-How-to-Add-search-function-to-custom-Listview

    【讨论】:

    • 不幸的是,这对我没有帮助。我无法让示例与我的代码一起使用。
    【解决方案2】:

    如果您使用 EditText 进行搜索,那么您必须编写自己的过滤方法。这里是一个示例 Custom ListView Search。如果您无法获得它,请告诉我,我会帮助您。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 2013-04-04
      • 2016-08-12
      • 1970-01-01
      相关资源
      最近更新 更多