Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实现Android SearchView建议,如Google Play Store_Android - Fatal编程技术网

实现Android SearchView建议,如Google Play Store

实现Android SearchView建议,如Google Play Store,android,Android,我如何实现与其他视图重叠的SearchView建议视图,如googlematerialSearchView在许多应用程序(如googleplay商店)中使用? 公共类AutoSuggestAdapter扩展了ArrayAdapter{ 私人语境; 私有int资源; 私人清单项目; 私人物品清单; 私人名单建议; 公共AutoSuggestAdapter(上下文、int资源、列表项){ 超级(上下文、资源、0、项); this.context=上下文; 这个资源=资源; 这个项目=项目; temp

我如何实现与其他视图重叠的
SearchView
建议视图,如googlematerial
SearchView
在许多应用程序(如googleplay商店)中使用?

公共类AutoSuggestAdapter扩展了ArrayAdapter{
私人语境;
私有int资源;
私人清单项目;
私人物品清单;
私人名单建议;
公共AutoSuggestAdapter(上下文、int资源、列表项){
超级(上下文、资源、0、项);
this.context=上下文;
这个资源=资源;
这个项目=项目;
tempItems=新阵列列表(项目);
建议=新建ArrayList();
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图=转换视图;
if(convertView==null){
LayoutFlater充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
视图=充气机。充气(资源,父项,false);
}
String item=items.get(位置);
if(item!=null&&view text视图实例){
((文本视图)视图).setText(项目);
}
返回视图;
}
@凌驾
公共过滤器getFilter(){
返回名称过滤器;
}
过滤器名称过滤器=新过滤器(){
@凌驾
public CharSequence ConvertResultString(对象结果值){
字符串str=(字符串)结果值;
返回str;
}
@凌驾
受保护的筛选器结果性能筛选(CharSequence约束){
if(约束!=null){
建议。清晰();
用于(字符串名称:tempItems){
if(names.toLowerCase().contains(constraint.toString().toLowerCase())){
建议.增加(姓名);
}
}
FilterResults FilterResults=新的FilterResults();
filterResults.values=建议;
filterResults.count=建议.size();
返回过滤器结果;
}否则{
返回新的FilterResults();
}
}
@凌驾
受保护的void publishResults(CharSequence约束、FilterResults结果){
List filterList=(ArrayList)results.values;
if(results!=null&&results.count>0){
清除();
用于(字符串项:过滤器列表){
增加(项目);
notifyDataSetChanged();
}
}
}
};
这应该是您自定义的适配器类。 在主u中,使用构造函数调用这个类,它将如下所示

public class MainActivity extends AppCompatActivity {
AutoCompleteTextView ACTV;
List<String> suggestions = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ACTV = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
}
public void AutocmpleteMeth() {
    // Hieronder is het code voor Autocomplete [BEGIN]
    AutoSuggestAdapter adapter = new AutoSuggestAdapter(this, android.R.layout.simple_dropdown_item_1line, suggestions);
    ACTV.setAdapter(adapter);
    ACTV.setThreshold(1);

}}
public类MainActivity扩展了AppCompatActivity{
自动完成文本视图ACTV;
列表建议=新建ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ACTV=(AutoCompleteTextView)findViewById(R.id.AutoCompleteTextView);
}
public void autocompletemeth(){
//层次结构是代码VO或自动完成[开始]
AutoSuggestAdapter=新的AutoSuggestAdapter(这是android.R.layout.simple\u下拉列表\u item\u 1line,建议);
ACTV.setAdapter(适配器);
动作设定阈值(1);
}}

谢谢,但我的意思是如何使视图变成这样?建议视图下的阴影覆盖在其他视图上。
public class MainActivity extends AppCompatActivity {
AutoCompleteTextView ACTV;
List<String> suggestions = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ACTV = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
}
public void AutocmpleteMeth() {
    // Hieronder is het code voor Autocomplete [BEGIN]
    AutoSuggestAdapter adapter = new AutoSuggestAdapter(this, android.R.layout.simple_dropdown_item_1line, suggestions);
    ACTV.setAdapter(adapter);
    ACTV.setThreshold(1);

}}