ArrayAdapter выдает ошибку при попытке использовать его с ListView - PullRequest
1 голос
/ 29 декабря 2011

Так что после нескольких часов попыток выяснить проблему, пробуя различные тесты, я не могу понять, в чем заключается ошибка.Всякий раз, когда я ввожу строку поиска, и этот метод запускается, я получаю две ошибки.1 заключается в том, что в цикле for, где я сравниваю строки, я, кажется, получаю StringIndexOutOfBounds, а ListView дает мне исключение NullPointerException из ArrayAdapter

Code:

 public void search(String[] s)
{
    setContentView(R.layout.search);
    final EditText text = (EditText)findViewById(R.id.searchBox);
    Button go = (Button)findViewById(R.id.go);
    final int sizeString = s.length;
    final String[] a = new String[sizeString];
    for(int i = 0;i<sizeString;i++)
        a[i] = s[i];
    go.setOnClickListener(new View.OnClickListener(){
        public void onClick (View v)
        {
            List<String> li = new ArrayList<String>();
            String entered = text.getText().toString().trim();
            String[] query = entered.split(" ");
            int temp;
            for (int i = 0; i < sizeString;i++)
            {
                temp = a[i].indexOf(" ");
                if (query[0].toLowerCase().equalsIgnoreCase(a[i].substring(0, temp).toLowerCase()))
                    li.add(a[i]);
            }
            setContentView(R.layout.search_results);
            final ListView list= (ListView)findViewById(R.id.search_list);
            String[] results = new String[sizeString];
            for(int i = 0; i<li.size();i++)
                results[i]=li.get(i);
            list.setAdapter(new ArrayAdapter<String>(Browse.this,android.R.layout.simple_list_item_1 ,results));
        }
    });

}
...