根据应用数据解析自动建议查询结果

时间:2014-09-10 12:21:09

标签: android parse-platform

我想询问是否有任何可用选项来根据用户输入检索部分结果,以帮助我找到用户所需的信息。实际上,我想实现添加好友功能,我希望在用户输入时,部分结果显示在组合框中(如facebook)。

例如,我希望当用户输入" ad"在textview中查看下拉列表(或其他内容),其中包含{adamos,andrew,andy}等结果。

我在后端使用Parse,我想从那里(实时)提供下拉列表。

谢谢, Adamos

1 个答案:

答案 0 :(得分:3)

这只是一个粗略的想法。根据您的方便更改代码。

adapter = new ArrayAdapter<String>(this, R.layout.autocompleteadapter);
    adapter.setNotifyOnChange(true);
    search.setAdapter(adapter);
    search.addTextChangedListener(new TextWatcher() {
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
            if (count % 3 == 1) {
                new Handler().postDelayed(new Runnable() {

                    @Override
                    public void run() {
                        search.setDropDownHeight(LayoutParams.WRAP_CONTENT);
                        adapter.clear();
                        // Run you background task here
                        new AutoCompleteEditTextTask()
                                .execute(search.getText().toString());
                    }
                }, 1000);
            }
        }

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

        }

        public void afterTextChanged(Editable s) {

        }
    });
    search.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> adapterview, View v,
                int position, long arg3) {
            // TODO Auto-generated method stub
            search.setText(adapterview.getItemAtPosition(position)
                    .toString());
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    });