OnClickListener для Spinner??? - PullRequest
       19

OnClickListener для Spinner???

2 голосов
/ 26 марта 2012

Мне нужен OnClickListener для моего Spinner.

Я перепробовал все, что нашел в интернете, но ни один из них не сработал.Пожалуйста, дайте мне решение для этого:

Получил мой счетчик здесь:

     spinner = (Spinner)findViewById(R.id.spinner1);

     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource
     (this, R.array.gyerekek_array, R.layout.my_spinner);

     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);



     spinner.setAdapter(adapter);
     spinner.setOnItemSelectedListener(new ItemChooser());

И это my_spinner.xml:

<?xml version="1.0" encoding="utf-8"?>
   <TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="fill_parent"
    android:layout_width="fill_parent" 
    android:gravity="center_vertical|center_horizontal"
    android:textColor="#000000"
    android:paddingLeft="50dp"
    android:text="Sample Text" 
    android:textStyle="bold"
    android:textSize="31sp"
    >

</TextView>

Я попробовал все из stackoverflow ивсе остальное из интернета.Я просто не могу это сделать ... Я не могу добавить onClickListener в TextView по умолчанию для прядильщика, потому что я не использую прядильщик по умолчанию, у меня есть собственный my_spinner.xml.Фактически, если я добавляю «ID» к моему текстовому представлению внутри my_spinner.xml, я получаю исключение нулевого указателя.

Я даже пытался добавить невидимый TextView поверх Spinner, но затем только одно представлениеможет быть воспринят OnClick.

Пожалуйста, помогите мне, ребята.

Ответы [ 2 ]

8 голосов
/ 26 марта 2012

используйте это

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> arg0, View view, int position, long id) {
            int item = spinner.getSelectedItemPosition();

        }
        public void onNothingSelected(AdapterView<?> arg0) { }
    });
5 голосов
/ 26 марта 2012

вы не можете добавить onclicklistener в любом представлении адаптера попробуйте использовать setOntouchlistener надеюсь, что это поможет вам

spinner = (Spinner)findViewById(R.id.spinner1);

     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource
     (this, R.array.gyerekek_array, R.layout.my_spinner);

     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

     spinner.setOnTouchlistener(this); 

     spinner.setAdapter(adapter);
     spinner.setOnItemSelectedListener(new ItemChooser());

//////////////////////////// Ваш слушатель

public boolean onTouch(View v, MotionEvent event) {
        Log.d("Spinner","clicked");
        return false;
    }
...