2012-03-26 21 views
2

Ich brauche einen OnClickListener zu meinem Spinner.OnClickListener zu Spinner? ??

Ich habe versucht alles, was ich im Internet gefunden habe, aber keiner von ihnen hat funktioniert. Bitte geben Sie mir eine Lösung dafür:

Got my Spinner hier:

 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()); 

Und das ist 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> 

tryed ich alles von Stackoverflow und alles andere aus dem Internet . Ich kann es einfach nicht machen ... Ich kann onClickListener nicht zum standardmäßigen TextView des Spinner hinzufügen, weil ich nicht das Standard-Spinner verwende, sondern meine eigene my_spinner.xml. In der Tat, wenn ich eine "ID" zu meiner Textansicht innerhalb der my_spinner.xml hinzufügen, bekam ich eine Nullzeiger Ausnahme.

Ich habe sogar versucht, eine unsichtbare TextView auf dem Spinner hinzuzufügen, aber dann kann nur eine Ansicht von OnClick sensorisiert werden.

Bitte helfen Sie mir Jungs.

Antwort

5

Sie nicht hinzufügen können einen OnClickListener auf jedem Adapter Ansicht versuchen, es Ihnen setOntouchlistener zu hoffen zu verwenden

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()); 

///////////////////

helfen ///////// Ihre Zuhörer

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

Coole Idee ..... :) –

8

Verwendung dieser

spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

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

     } 
     public void onNothingSelected(AdapterView<?> arg0) { } 
    }); 
+0

ich brauche ein direktes Ereignis, das wird meinen Code ausgeführt wird, wenn ich auf die Spinne rs Knopf. Nicht die Gegenstände des Spinners. –

+1

Adam Varhegyi verwenden setOntouchlistener für Spinner es wird Ihnen sicher helfen – vipin