Android过滤器列表视图像Instagram

时间:2019-05-12 08:54:28

标签: android listview

我正在创建一个Android应用,其中有一个listeview,并且搜索通过EditText进行过滤。

我想知道的是,例如,Instagram如何显示分类搜索的预览?

让我更好地解释一下,如果在Instagram上查看“伦敦”,我会出现在字段列表中,例如,其中有城市图标,并在其旁边带有“伦敦”字样。字段上写有“ #london”,另一个字段上写有“ London”以及下面的用户照片。

在“编程”中分为几类或几部分的搜索名称是什么?

我想在我的App中进行操作,但是问题是我不知道该怎么称呼。

如果我有一个列表视图并想通过搜索过滤它,当我输入单词“ London”时,它会立即向我显示与“ London”同名的商品,而不是我想要像Instagram这样的搜索,结果会先过滤掉类别,然后单击类别会显示结果。

这种做法叫什么名字?

1 个答案:

答案 0 :(得分:0)

使用类似的东西:

private ArrayAdapter<String> mAdapter;
private String[] data = {"myname","myname2","myname3","myname4","myname5"};
private EditText searchBox;
private ListView mListView;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);

searchBox = findViewById(R.id.searchBox);
mListView = findViewById(R.id.mListView);

mListView.setTextFilterEnabled(true); 

mAdapter = new ArrayAdapter<String>(MainActivity.this, 
android.R.layout.simple_list_item_1, data); 

mListView.setAdapter(mAdapter);

searchBox.addTextChangedListener(new TextWatcher() {

@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
    // TODO Auto-generated method stub
    MainActivity.this.mAdapter.getFilter().filter(arg0);
}

@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
        int arg3) {
    // TODO Auto-generated method stub

}

@Override
public void afterTextChanged(Editable arg0) {
    // TODO Auto-generated method stub

}
});

}

现在,如果在编辑文本中输入“ myname2”,则ListView将仅显示它。对于GridView / RecyclerView,可以使用类似的方法。