相关疑难解决方法(0)

使用ArrayAdapter在Android中自定义过滤

我正在尝试过滤使用此ArrayAdapter填充的ListView:

package me.alxandr.android.mymir.adapters;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

import me.alxandr.android.mymir.R;
import me.alxandr.android.mymir.model.Manga;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Filter;
import android.widget.SectionIndexer;
import android.widget.TextView;

public class MangaListAdapter extends ArrayAdapter<Manga> implements SectionIndexer
{
    public ArrayList<Manga> items;
    public ArrayList<Manga> filtered;
    private Context context;
    private HashMap<String, Integer> alphaIndexer;
    private String[] sections = new String[0];
    private Filter filter;
    private boolean enableSections;

    public MangaListAdapter(Context context, int textViewResourceId, ArrayList<Manga> items, boolean enableSections)
    { …
Run Code Online (Sandbox Code Playgroud)

android listview filter android-arrayadapter

40
推荐指数
4
解决办法
7万
查看次数

列表过滤器自定义适配器不给出结果

我正在开发应用程序,其中有列表和上面的编辑文本,我将在editText中键入内容的那一刻我应该得到结果匹配的类型word.bt我不能得到结果,Plz告诉我在哪里犯错误?以下是我的活动和适配器.

**活动**

public class ListFilterActivity extends ListActivity{

    ListView list;
    @Override
    protected void onCreate(Bundle savedInstanceState) {    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list_filter);   

        list = getListView();
        list.isTextFilterEnabled();

//      final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
//                android.R.layout.simple_list_item_1, android.R.id.text1,
//                getModel());
        final CustomAdapter adapter = new CustomAdapter(ListFilterActivity.this, getModel());
        setListAdapter(adapter);
        EditText filterEditText = (EditText) findViewById(R.id.filterText);
        filterEditText.addTextChangedListener(new TextWatcher() {

            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
                adapter.getFilter().filter(s.toString());
            }

            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
            }

            public void afterTextChanged(Editable s) { …
Run Code Online (Sandbox Code Playgroud)

android

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

具有近似字符串匹配功能的Android autocompletetextview

我正在开发一个有大约8000个印度城市名称的应用程序.当用户输入i时,使用auto complete来帮助用户完成工作.但是一些城市名称的拼写很难为来自其他州的人们猜测.所以我们需要一个近似的字符串匹配来自动完成而不是默认的精确匹配.

例如,有像这样的名字

  • Thirumayilai
  • Thirunettur
  • Thiruthuraiyur
  • 蒂鲁瓦鲁尔

并且

  • 蒂鲁内尔维利
  • 蒂鲁芒格阿拉姆

如果用户搜索城市'Tirunelveli'但在文本框中键入'Thirunel',则autocompletetextview不会显示名称,并且它会进行精确的字符串匹配.

我该怎么做才能在自动完成下拉列表中获得近似匹配字符串..

android string-search autocompletetextview

0
推荐指数
1
解决办法
1982
查看次数