2013-07-23 3 views
0

У меня проблема с Spinner. Я установил ArrayAdapter и установил OnItemSelected Listener. но в методе onClick он показывает ошибку в выражении els-if за ошибку.Spinner, ArrayAdapter

// Create an ArrayAdapter using the string array and a default spinner layout 
     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, 
       R.array.category_array, android.R.layout.simple_spinner_item); 
     // Specify the layout to use when the list of choices appears 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     // Apply the adapter to the spinner 
     categorySpinner = (Spinner) findViewById(R.id.editCategorySpinner); 

     categorySpinner.setAdapter(adapter); 
     categorySpinner.setOnItemSelectedListener(this); 

} 

private void configureButton2() { 
     Button save = (Button) findViewById(R.id.btSave); 

     save.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (textName.getText().length() == 0) { 
        textName.requestFocus(); 
        return; 
       } else if (textContent.getText().length() == 0) { 
        textContent.requestFocus(); 
        return; 
       } else if (categorySpinner.**getText**().length() == 0) { 
        CategorySpinner.requestFocus(); 
        return; 
       } else { 
        //next Step: get the mood 
        Intent myIntent = new Intent(v.getContext(), Activity2.class); 
       myIntent.putExtra("textName", textName.getText().toString()); 
       myIntent.putExtra("textContent", textContent.**getText**().toString()); 
       myIntent.putExtra("CategorySpinner", CategorySpinner.**getText()**.toString()); 
       v.getContext().startActivity(myIntent); 
      } 
       } 
      } 
     }); 
     } 

@Override 
    public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) { 

     String selected = parent.getItemAtPosition(pos).toString(); 

    } 

    @Override 
    public void onNothingSelected(AdapterView<?> arg0) { 
     // TODO Auto-generated method stub 

    } 

Я попытался это в другом, если заявлении:

} else if (((CharSequence) docuCategory.getTag()).length() == 0) { 
       docuCategory.requestFocus(); 
       return; 

эта доза не показывает какую-либо ошибки, но эмулятор «к сожалению, остановил»

Надеется, что вы можете мне помочь.

+0

Какую ошибку вы видите с помощью 'else if'? –

+1

else if (categorySpinner.getSelectedItemPosition == 0) –

+0

getSelectedItemPosition не может быть разрешен или не является полем – user2286261

ответ

0

Зачем вам нужно использовать метод getSelectedItemPosition, чтобы получить позицию выбранного элемента. Выбранная позиция позиции будет передана методу onItemSelected в качестве параметра. В вашем случае будет выбрано значение pos.

Попробуйте это.

@Override 
public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) { 

    int selectedPosition = pos; 

} 

@Override 
public void onNothingSelected(AdapterView<?> arg0) { 
    // TODO Auto-generated method stub 

} 
+0

показывает в любом случае ошибку в: myIntent.putExtra ("categorySpinner", categorySpinner. ** getText() **. ToString()); – user2286261

+0

ok Я получил это :) Я установил это: categorySpinner.getContext(). ToString() – user2286261

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