Android studio-隐藏筛选列表视图结果 package test2.gioton.com.myapplication; 导入android.app.Activity; 导入android.os.Bundle; 导入android.text.Editable; 导入android.text.TextWatcher; 导入android.view.view; 导入android.widget.ArrayAdapter; 导入android.widget.EditText; 导入android.widget.ListView; 导入java.util.ArrayList; 导入java.util.HashMap; 公共类MainActivity扩展了活动{ //列表视图 私有ListView lv; //列表视图适配器 阵列适配器; //搜索编辑文本 编辑文本输入搜索; //Listview的ArrayList ArrayList产品列表; @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //列表视图数据 字符串产品[]={“戴尔Inspiron”、“HTC One X”、“HTC Wildfire S”、“HTC Sense”、“HTC Sensation XE”, “iPhone 4S”、“三星Galaxy Note 800”, “三星Galaxy S3”、“MacBook Air”、“MacMini”、“MacBook Pro”}; lv=(ListView)findViewById(R.id.list\u视图); inputSearch=(EditText)findViewById(R.id.inputSearch); //向listview添加项目 适配器=新阵列适配器(此,R.layout.list_项,R.id.product_名称,产品); 低压设置适配器(适配器); /** *启用搜索筛选器 * */ 如果(inputSearch!=null) { inputSearch.addTextChangedListener(新的TextWatcher(){ @凌驾 public void onTextChanged(字符序列cs、int arg1、int arg2、int arg3){ //当用户更改文本时 MainActivity.this.adapter.getFilter().filter(cs); } @凌驾 更改前的公共void(字符序列arg0、int arg1、int arg2、, int arg3){ //TODO自动生成的方法存根 } @凌驾 public void PostTextChanged(可编辑arg0){ //TODO自动生成的方法存根 } }); lv.setVisibility(视图已消失); } 否则{ lv.setVisibility(视图可见); } } }

Android studio-隐藏筛选列表视图结果 package test2.gioton.com.myapplication; 导入android.app.Activity; 导入android.os.Bundle; 导入android.text.Editable; 导入android.text.TextWatcher; 导入android.view.view; 导入android.widget.ArrayAdapter; 导入android.widget.EditText; 导入android.widget.ListView; 导入java.util.ArrayList; 导入java.util.HashMap; 公共类MainActivity扩展了活动{ //列表视图 私有ListView lv; //列表视图适配器 阵列适配器; //搜索编辑文本 编辑文本输入搜索; //Listview的ArrayList ArrayList产品列表; @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //列表视图数据 字符串产品[]={“戴尔Inspiron”、“HTC One X”、“HTC Wildfire S”、“HTC Sense”、“HTC Sensation XE”, “iPhone 4S”、“三星Galaxy Note 800”, “三星Galaxy S3”、“MacBook Air”、“MacMini”、“MacBook Pro”}; lv=(ListView)findViewById(R.id.list\u视图); inputSearch=(EditText)findViewById(R.id.inputSearch); //向listview添加项目 适配器=新阵列适配器(此,R.layout.list_项,R.id.product_名称,产品); 低压设置适配器(适配器); /** *启用搜索筛选器 * */ 如果(inputSearch!=null) { inputSearch.addTextChangedListener(新的TextWatcher(){ @凌驾 public void onTextChanged(字符序列cs、int arg1、int arg2、int arg3){ //当用户更改文本时 MainActivity.this.adapter.getFilter().filter(cs); } @凌驾 更改前的公共void(字符序列arg0、int arg1、int arg2、, int arg3){ //TODO自动生成的方法存根 } @凌驾 public void PostTextChanged(可编辑arg0){ //TODO自动生成的方法存根 } }); lv.setVisibility(视图已消失); } 否则{ lv.setVisibility(视图可见); } } },java,android,listview,android-listview,Java,Android,Listview,Android Listview,这是我的主类,带有listview Adapter和用于listview名称的arraylist,现在我的问题是,当我在android设备上运行listview过滤器时,它对搜索内容很有效,现在的问题是它在搜索内容之前显示整个listview。像这样 我想要的是在我开始在EditText中搜索后显示listview。。。(例如,当我按下第一个单词时,listview显示结果) 目前,我的listview仅隐藏,但当我在EditText中写入时,它不会显示listview或任何结果 我非常需要这

这是我的主类,带有listview Adapter和用于listview名称的arraylist,现在我的问题是,当我在android设备上运行listview过滤器时,它对搜索内容很有效,现在的问题是它在搜索内容之前显示整个listview。像这样

我想要的是在我开始在EditText中搜索后显示listview。。。(例如,当我按下第一个单词时,listview显示结果)

目前,我的listview仅隐藏,但当我在EditText中写入时,它不会显示listview或任何结果


我非常需要这个,非常感谢advanced

Just use condition if(TextUtils.isEmpty(inputSearch.getText()){/*hide ListView*/}hi@m0rphine,感谢您让我们知道,您能进一步解释一下这个问题吗?我们是新来的view@m0rphine我们刚刚在您的if语句中添加了您回复我们的内容,但在搜索第一个单词look@m0rphine后,它似乎没有显示结果,我们没有得到结果
package test2.gioton.com.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.HashMap;

public class MainActivity extends Activity {

    // List view
    private ListView lv;

    // Listview Adapter
    ArrayAdapter<String> adapter;

    // Search EditText
    EditText inputSearch;


    // ArrayList for Listview
    ArrayList<HashMap<String, String>> productList;

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

        // Listview Data
        String products[] = {"Dell Inspiron", "HTC One X", "HTC Wildfire S", "HTC Sense", "HTC Sensation XE",
                "iPhone 4S", "Samsung Galaxy Note 800",
                "Samsung Galaxy S3", "MacBook Air", "Mac Mini", "MacBook Pro"};


        lv = (ListView) findViewById(R.id.list_view);
        inputSearch = (EditText) findViewById(R.id.inputSearch);

        // Adding items to listview
        adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.product_name, products);
        lv.setAdapter(adapter);

        /**
         * Enabling Search Filter
         * */



        if (inputSearch != null)
        {

            inputSearch.addTextChangedListener(new TextWatcher() {


                @Override
                public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
                    // When user changed the Text
                    MainActivity.this.adapter.getFilter().filter(cs);
                }

                @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
                }
            });
            lv.setVisibility(View.GONE);


        }
else{
            lv.setVisibility(View.VISIBLE);
        }




    }

}