Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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 无法在ListView中使用SearchView_Android_Listview_Searchview - Fatal编程技术网

Android 无法在ListView中使用SearchView

Android 无法在ListView中使用SearchView,android,listview,searchview,Android,Listview,Searchview,我不知道为什么,但在我的ListView中搜索不起作用:(请,帮助 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_users); usersList = (ListView)findViewById(R.id.usersList); noUsers

我不知道为什么,但在我的ListView中搜索不起作用:(请,帮助

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

    usersList = (ListView)findViewById(R.id.usersList);
    noUsersText = (TextView)findViewById(R.id.noUsersText);
    searchView = (SearchView)findViewById(R.id.searchView);

    pd = new ProgressDialog(Users.this);
    pd.setMessage("Загрузка...");
    pd.show();

    String url = "https://android-messenger-2f255.firebaseio.com/users.json";

    StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>(){
        @Override
        public void onResponse(String s) {
            doOnSuccess(s);
        }
    },new Response.ErrorListener(){
        @Override
        public void onErrorResponse(VolleyError volleyError) {
            System.out.println("" + volleyError);
        }
    });

    RequestQueue rQueue = Volley.newRequestQueue(Users.this);
    rQueue.add(request);

    usersList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            UserDetails.chatWith = al.get(position);
            startActivity(new Intent(Users.this, Chat.class));
        }
    });

    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, al);
    usersList.setAdapter(adapter);

    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {

            adapter.getFilter().filter(newText);

            return false;
        }
    });
}



public void doOnSuccess(String s){
    try {
        JSONObject obj = new JSONObject(s);

        Iterator i = obj.keys();
        String key = "";

        while(i.hasNext()){
            key = i.next().toString();

            if(!key.equals(UserDetails.username)) {
                al.add(key);
            }

            totalUsers++;
        }

    } catch (JSONException e) {
        e.printStackTrace();
    }

    if(totalUsers <=1){
        noUsersText.setVisibility(View.VISIBLE);
        usersList.setVisibility(View.GONE);
    }
    else{
        noUsersText.setVisibility(View.GONE);
        usersList.setVisibility(View.VISIBLE);
        usersList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, al));
    }

    pd.dismiss();
}





@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case R.id.action_log_out:
            Intent Logout = new Intent(this,Login.class);
            Logout.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(Logout);
            return true;
        case R.id.action_refresh:
            Intent Refresh = new Intent(this,Users.class);
            Refresh.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(Refresh);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

@Override
public void onBackPressed (){
    moveTaskToBack(true);
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_用户);
usersList=(ListView)findViewById(R.id.usersList);
nouser文本=(TextView)findViewById(R.id.nouser文本);
searchView=(searchView)findviewbyd(R.id.searchView);
pd=新建进度对话框(Users.this);
pd.设置消息(“азззазаза…”);
pd.show();
字符串url=”https://android-messenger-2f255.firebaseio.com/users.json";
StringRequest=newStringRequest(request.Method.GET,url,new Response.Listener()){
@凌驾
公共void onResponse(字符串s){
最终成功;
}
},new Response.ErrorListener(){
@凌驾
公共错误响应(截击错误截击错误){
System.out.println(““+截击错误”);
}
});
RequestQueue rQueue=Volley.newRequestQueue(Users.this);
rQueue.add(请求);
usersList.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
UserDetails.chatWith=al.get(位置);
startActivity(新意图(Users.this、Chat.class));
}
});
adapter=new ArrayAdapter(这是android.R.layout.simple_list_item_1,al);
setAdapter(适配器);
searchView.setOnQueryTextListener(新的searchView.OnQueryTextListener(){
@凌驾
公共布尔值onQueryTextSubmit(字符串查询){
返回false;
}
@凌驾
公共布尔onQueryTextChange(字符串newText){
adapter.getFilter().filter(newText);
返回false;
}
});
}
公共void doOnSuccess(字符串s){
试一试{
JSONObject obj=新的JSONObject;
迭代器i=obj.keys();
字符串键=”;
while(i.hasNext()){
key=i.next().toString();
如果(!key.equals(UserDetails.username)){
al.添加(键);
}
totalUsers++;
}
}捕获(JSONException e){
e、 printStackTrace();
}

如果(totalUsers)您可以选中此项,则您必须根据适配器类中由于某种原因未发布在此处的
newText
筛选列表。您可以选中此项,您必须根据适配器类中由于某种原因未发布在此处的
newText
筛选列表。
<SearchView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:queryHint="Поиск..."
    android:layout_marginBottom="10dp"
    android:background="@drawable/edittextstyle"
    android:id="@+id/searchView" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Пока пользователей нет:("
    android:id="@+id/noUsersText"
    android:visibility="gone"/>

<ListView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/usersList"
    android:background="@drawable/edittextstyle"
    android:headerDividersEnabled="false"
    android:footerDividersEnabled="false" />