Как использовать спиннер - PullRequest
0 голосов
/ 24 февраля 2011

Я хотел бы иметь определенное действие, когда выбран конкретный элемент (например, элемент 2), но иметь общее действие для любых других элементов (например, элементы 1, 3, 4).

Это мой код:

    private String[] array_spinner = new String[4];
    private thetiki mContext;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mContext = this;
        setContentView(R.layout.main2);

        array_spinner[0] = "Mathimatika Genikis Paideias";
        array_spinner[1] = "Fusiki Genikis Paideias";
        array_spinner[2] = "Istoria Genikis Paideias";
        array_spinner[3] = "Viologia Genikis Paideias";

        Spinner s = (Spinner)findViewById(R.id.spinner);
        ArrayAdapter adapter = 
            new ArrayAdapter(this, android.R.layout.simple_spinner_item, 
                array_spinner);
        s.setAdapter(adapter);

        // more code
   apostoli.setOnClickListener(new OnClickListener() {

                private AlertDialog show;

                public void onClick(View arg0) {

if (...) {


        if (array_spinner[2] != null) {
            //do something  

        } else if (array_spinner[0] != null || array_spinner[1] != null || array_spinner[3] != null) {

            //do something else
        }
    }

1 Ответ

4 голосов
/ 24 февраля 2011

array_spinner [index] никогда не будет нулевым в этом случае.Вы уже инициализировали их, как они могли быть?Вам необходимо настроить прослушиватель для обработки выбора в Spinner, что-то вроде этого:

s.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        if(pos == 2) {
            //do specific action
        } else {
            //do generic action
        }
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {
        //do nothing
    }
});

См. Дополнительную информацию в учебнике Spinner .

...