为什么构造ArrayAdapter<字符串>(新View.OnKeyListener(){},INT的String [])是未定义 [英] Why The constructor ArrayAdapter<String>(new View.OnKeyListener(){}, int, String[]) is undefined

查看:103
本文介绍了为什么构造ArrayAdapter<字符串>(新View.OnKeyListener(){},INT的String [])是未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么构造ArrayAdapter(新View.OnKeyListener(){},INT的String [])是未定义在下面我的编码。这种编码是从SQLite的时候打字字数超过3个字符的读取数据。但是,它显示了以下错误。

  

构造ArrayAdapter(新View.OnKeyListener(){},INT,   的String [])未定义

  ED1 =(AutoCompleteTextView)findViewById(R.id.searchWord);
ed1.setOnKeyListener(新View.OnKeyListener()
{
    整型数= 0;
    字符串typeWord =;
    公共布尔onKey(视图V,INT关键code,KeyEvent的事件)
    {
        如果(KeyEvent.ACTION_DOWN == event.getAction()){
            如果(键code!= 67){
                算上++;
                炭C =(char)的event.getUni codeCHAR();
                typeWord = typeWord + C;
            }
            其他 {
                计数 - ;
            }
            如果(计数大于2&安培;&安培; typeWord =!){
                国家= getAutosuggestWord(typeWord);
                ArrayAdapter<字符串>适配器=新的ArrayAdapter<字符串>(这一点,R.layout.autosuggest,国家);
                ed1.setAdapter(适配器);
            }
        }
        返回false;
    }
});
 

解决方案

您需要限定使用当你想引用封闭类内部的类。在您的code,如果封闭类是你的Activity子类(假设它被称为MyActivity),那么你可以这样写:

  ArrayAdapter<字符串>适配器=新的ArrayAdapter<字符串>(MyActivity.this,
   R.layout.autosuggest,
   国家);
 

Why The constructor ArrayAdapter(new View.OnKeyListener(){}, int, String[]) is undefined in following my coding. This coding is for fetching data from SQLite when typing word count is more than 3 character. But, it's displaying the following error.

The constructor ArrayAdapter(new View.OnKeyListener(){}, int, String[]) is undefined

ed1 = (AutoCompleteTextView)findViewById(R.id.searchWord);
ed1.setOnKeyListener(new View.OnKeyListener()
{
    Integer count = 0;
    String typeWord = "";
    public boolean onKey(View v, int keyCode, KeyEvent event)
    {                   
        if (KeyEvent.ACTION_DOWN == event.getAction()) {
            if (keyCode != 67) {
                count++;
                char c = (char)event.getUnicodeChar();
                typeWord = typeWord + c;
            }
            else {
                count--;
            }
            if (count > 2 && typeWord != "") {                                                                              
                countries = getAutosuggestWord(typeWord);
                ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.autosuggest, countries);
                ed1.setAdapter(adapter);                            
            }
        }                       
        return false;                       
    }              
});

解决方案

You need to qualify the use of this when you want to refer to the enclosing class of an inner class. In your code, if the enclosing class is your Activity subclass (let's say it's called MyActivity), then you would write:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(MyActivity.this,
   R.layout.autosuggest,
   countries);

这篇关于为什么构造ArrayAdapter&LT;字符串&GT;(新View.OnKeyListener(){},INT的String [])是未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆