2014-02-03 6 views
0

Я разработал приложение для Android (я новичок), но у меня проблема с ArrayAdapater.Android apache Poi ArrayAdapter

Я использовал адаптер Array, в первой части моего кода, и нет никаких ошибок:

final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
     android.R.layout.simple_spinner_item, arrList); 
     testSpinner.setAdapter(adapter); 

Но на остальной части кода есть ошибка для создания второго адаптера массива:

testSpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() 
     { 
      public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) 
      { 
       String var = arrList.get(pos); 

       if(parent.getItemAtPosition(pos).toString().equals(var)) 
       { 
        ArrayList<String> arrListA = arrList2.get(pos); 

        ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this, 
          android.R.layout.simple_spinner_item, arrListA); //error 

        testSpinner2.setAdapter(adapter2); 
        System.out.println(var); 
       } 
      }}); 

Eclipse, сказал за ошибки: "конструктор ArrayAdapter (новый AdapterView.OnItemSelectedListener() {}, Int, массив List) является Неопределенное"

ответ

1

Вы получаете эр ror, потому что ваш оператор «this» указывает на new AdapterView.OnItemSelectedListener() (новый слушатель, который вы создали). Чтобы исправить это, замените на: <YourClassName>.this.

Кроме того, я не уверен, что вы пытаетесь сделать, но декальпинг нового adpater в слушателе - не очень хорошая идея. Было бы лучше просто инициализировать его там.

+0

Замените с чем? – user3244162

+1

Извините, не заметил, что текст в угловых скобках не отображается. Исправлено. – Bandreid

+0

спасибо! оно работает! – user3244162