如题,AutoCompleteTextView绑定数据后,我想显示出全部数据,而不是输入后在匹配,本想设置匹配数为了setThreshold(0),发现不行,最少要1,请高手赐教,谢谢!!

解决方案 »

  1.   


    我想要的是把所有数据都列出来,比如绑定的数据是{"aa","bb","cc","dd"},直接列出aa,bb,cc,dd。而不是输入后在匹配,setThreshold(1)那是输入一个字符后才开始匹配
      

  2.   

    为什么要那样呢 setThreshold(1)不挺好的啊
      

  3.   

    点击AutoCompleteTextView时候append一个空字符串给它就可以了
        myAutoCompleteTextView.setOnClickListener(
        new View.OnClickListener()
           {
            
            @Override
            public void onClick(View v)
             {
              // TODO Auto-generated method stub
              CharSequence mCharSequences=new CharSequence()
              {
                
                @Override
                public CharSequence subSequence(int start, int end)
                {
                  // TODO Auto-generated method stub
                  return null;
                }
                
                @Override
                public int length()
                {
                  // TODO Auto-generated method stub
                  return 0;
                }
                
                @Override
                public char charAt(int index)
                {
                  // TODO Auto-generated method stub
                  return 0;
                }
              };          
              mCharSequences="";
              myAutoCompleteTextView.append(mCharSequences);
             }
           }
        );
      

  4.   


    你是说先设置setThreshold(1)吧, 我也是按你说的试下,还是不行,要输入一个字符后在出来
    tv_service.setOnClickListener(new OnClickListener() { @Override
    public void onClick(View v) {
    /*
     * Log.d(getString(R.string.app_name), "tv_service onClick"); if
     * (tv_service.getText().toString().equals(
     * getString(R.string.default_service_addr))) {
     * Log.d(getString(R.string.app_name), "equals:" +
     * getString(R.string.default_service_addr));
     * tv_service.setText(""); } else
     * Log.d(getString(R.string.app_name), "no equals:" +
     * getString(R.string.default_service_addr));
     */
    // TODO Auto-generated method stub
    CharSequence mCharSequences = new CharSequence() { @Override
    public CharSequence subSequence(int start, int end) {
    // TODO Auto-generated method stub
    return null;
    } @Override
    public int length() {
    // TODO Auto-generated method stub
    return 0;
    } @Override
    public char charAt(int index) {
    // TODO Auto-generated method stub
    return 0;
    }
    };
    mCharSequences = "";
    tv_service.append(mCharSequences); } });
      

  5.   

    郁闷了 project clean 之后也不行了 怪怪的另一种解决方法
     将所有匹配字符串前加个空格  mCharSequences = " ";//一个空格
     tv_service.append(mCharSequences);
      

  6.   

    有点钻空子了
    将所有匹配字符串前加个空格     myAutoCompleteTextView.setThreshold(1);
        
        myAutoCompleteTextView.setOnClickListener(
        new View.OnClickListener()
           {
            @Override
            public void onClick(View v)
             {
                myAutoCompleteTextView.setText(" ");
             }
           }
        );
      

  7.   

    自己在顶上去,看了ArrayAdapter代码发现在匹配时performFiltering,如果为空是返回所有数据的,应该是AutoCompleteTextView屏蔽掉了
      

  8.   

    http://blog.sina.com.cn/s/blog_54109a5801012pmi.html
      

  9.   

    在OnClickListener事件中,执行showDropDown()