setOnItemSelectedListener Spinner не вызывает

я использовалsetOnItemSelectedListener чтобы указать, какой элемент выбран в счетчике, но я думаю, что он не называется. это должно напечатать "Оно работает" когда программа запускается.

XML-код:


Java-код:

public class quantity extends Activity
{

Spinner  quantity;


    public void onCreate(Bundle savedInstanceState) 
    {
    quantity=(Spinner)findViewById(R.id.quantity);

    quantity.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 
            {
                public void onItemSelected(AdapterView parent, View view, int pos, long id) 
                {
                    Object item = parent.getItemAtPosition(pos);

                    System.out.println("it works...   ");

                }

                public void onNothingSelected(AdapterView parent) 
                {

                }
            });


    }

}
 Muhammad Babar16 мая 2013 г., 10:29
Рад слышать, что у вас это работает :)
 Jeff16 мая 2013 г., 10:03
@ Мухаммад Бабар, да, но чтобы сделать код коротким и понятным, я их опустил
 Muhammad Babar16 мая 2013 г., 10:47
Принять AT_AB 'ответ, кажется правильным !!
 Jeff16 мая 2013 г., 10:38
@ Мухаммед Из-за моей низкой репутации я не могу ответить на мой вопрос, поэтому, пожалуйста, напишите ответ. Я думаю, что это будет полезно для начинающих людей, как я
 Raghunandan16 мая 2013 г., 09:41
Как предположил @chopchop, вы можете получить nullpointerexception. Вы не установили содержание своего макета на активность
 chopchop16 мая 2013 г., 09:40
Вы вызывали setContentView (R.layout. <yourXmlFile>) перед выполнением findViewById
 Raghunandan16 мая 2013 г., 09:45
любые ошибки или исключения, при условии, что у вас есть setContentView (param);
 Muhammad Babar16 мая 2013 г., 09:57
Да, вы настраиваетеадаптер вашей ?Spinner
 Muhammad Babar16 мая 2013 г., 10:07
твойLogCat за работой??
 Muhammad Babar16 мая 2013 г., 09:50
Вы установили какие-либо данные (массив) для вашего счетчика, я нене видишь?
 Jeff16 мая 2013 г., 09:42
Да, я сделал, но чтобы сделать код короче, я опустил его здесь
 Jeff16 мая 2013 г., 10:27
@ Мухаммед Бабар Извините, дорогая, вы были правы, я по ошибке никогда не добавляю данные в счетчик, Спасибо за ваше решение
 Jeff16 мая 2013 г., 09:55
@ Мухаммед Бабар, ты имеешь в виду предметы, которые нужно добавить в счетчик? и нет ошибки
 Opiatefuchs16 мая 2013 г., 10:27
Другой вопрос: сколько у вас предметов? Я понял, что если выбран элемент, вы не можете выбрать его снова. Так что, если у вас есть только один элемент, он будет выбран на инициализаторе, но при повторном выборе он не будет выводиться.

Ответы на вопрос(1)

Решение Вопроса

Попробуй это

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.Your_Layout);

            /*for fill your Spinner*/
        List<string> spinnerArray = new ArrayList<string>();
        spinnerArray.add("Item 1");
        spinnerArray.add("Item 2");
        spinnerArray.add("Item 3");
        spinnerArray.add("Item 4");
        spinnerArray.add("Item 5");

        ArrayAdapter<string> adapter = new ArrayAdapter<string>(this,
                android.R.layout.simple_spinner_item, spinnerArray);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        Spinner spinner = (Spinner) findViewById(R.id.quantity);
        spinner.setAdapter(adapter);

        spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<!--?--> adapterView, View view,
                    int position, long id) {
                Object item = adapterView.getItemAtPosition(position);
                if (item != null) {
                    Toast.makeText(MainActivity.this, item.toString(),
                            Toast.LENGTH_SHORT).show();
                }
                Toast.makeText(MainActivity.this, "Selected",
                        Toast.LENGTH_SHORT).show();

            }

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

            }
        });
    }
</string></string></string></string>
 AITAALI_ABDERRAHMANE16 мая 2013 г., 10:32
Вы решили свою проблему так же, как я?
 CoderOfTheNight23 июл. 2015 г., 19:25
@KamyarParastesh, если вы уже решили проблему, было бы хорошо, чтобы вы поделились ответом со всеми, чтобы люди не тратили время на решение проблемы, которую вы уже решили.
 Jeff16 мая 2013 г., 10:29
Спасибо, но проблема решена :-)

Ваш ответ на вопрос