2013-05-28 1 views
0

У меня есть счетчик с элементами мг, г, микрограммами, кг. Если я выберу мг, я хочу, чтобы второй spinner обновлялся только с параметрами mg и g. Но когда используется логика if, я получаю «Метод createFromResource (Context, int, int) в типе ArrayAdapter не применим для ошибки argume.Android: Попытка создать счетчик с элементами на основе выбранного другого элемента счетчика

общественного класса MyOnItemSelectedListener реализует OnItemSelectedListener {

@Override 
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id){ 
    String str = parent.getItemAtPosition(pos).toString(); 

    final TextView result = (TextView) findViewById(R.id.textView5); 

    if (str.equals("mg")){ 
     Spinner spinner1 = (Spinner) findViewById(R.id.spinner2); 

     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.units, android.R.layout.simple_spinner_item); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     spinner1.setAdapter(adapter); 
     //result.setText("testing"); 
    } 
    else { 
     result.setText("micrograms"); 
    } 

    } 

    @Override 
    public void onNothingSelected(AdapterView parent){} 
} 

ответ

1

Ваша проблема в этой строке:

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.units, android.R.layout.simple_spinner_item); 

Первый аргумент здесь принимает контекст. Поскольку вы вызываете это из слушателя, который является его собственным классом, this относится к слушателю, а не к вашей деятельности. Вам необходимо передать ссылку на свою деятельность через конструктор вашего класса слушателя и заменить this ссылкой на этот контекст активности.

+0

yup that was it. Спасибо. – user532648

+0

Поскольку вы новичок здесь, голова - если мой ответ (или кто-то еще) был вам полезен, подумайте о его принятии (нажав галочку рядом с ним). Это даст вам +2 очков репутации и увеличит вероятность того, что люди помогут вам в будущем :) – drewmoore

Смежные вопросы