2016-12-06 7 views
-1

Ich bin neu in Android Programmierung und ich versuche, ein Spinner zu implementieren, aber ich bekomme "kann nicht lösen Symbol" Fehler für setOnItemSelectedListener, setDropDownViewResource und setAdapter. Ich bin ratlos. Ich habe versucht, mehr Importe hinzuzufügen, aber sie haben nichts getan.Android Spinner - Kann Symbol nicht auflösen - setOnItemSelectedListener

Hier ist mein Code:

public class MainActivity extends AppCompatActivity implements OnItemSelectedListener { 
    public final static String EXTRA_MESSAGE = "com.example.FinalProject.MESSAGE"; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    Spinner spinner = (Spinner) findViewById(R.id.spinner); 
    spinner.setOnItemSelectedListener(this); 

// Create an ArrayAdapter using the string array and a default spinner layout 

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.verb_endings_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 

    spinner.setAdapter(adapter); 

    public void onItemSelected(AdapterView<?> parent, View view, 
          int pos, long id) { 
     // An item was selected. You can retrieve the selected item using 
     // parent.getItemAtPosition(pos) 
    } 

    public void onNothingSelected(AdapterView<?> parent) { 
     // Another interface callback 
    } 

    /** Called when the user clicks the Send button */ 
    public void sendMessage(View view) { 
     Intent intent = new Intent(this, DisplayMessageActivity.class); 
     EditText editText = (EditText) findViewById(R.id.edit_message); 
     String message = editText.getText().toString(); 
     intent.putExtra(EXTRA_MESSAGE, message); 
     startActivity(intent); 
    } 
}  
+0

Danke! Es funktioniert jetzt. –

Antwort

2

Verschieben dieses

Spinner spinner = (Spinner) findViewById(R.id.spinner); 
spinner.setOnItemSelectedListener(this); 

innerhalb des onCreate Methode, ABER den Spinner außerhalb erklären, (Sie wollen sicher mit ihm arbeiten später. .. :))

private Spinner spinner; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    spinner = (Spinner) findViewById(R.id.spinner); 
    spinner.setOnItemSelectedListener(this); 
} 
+0

Danke! Es funktioniert jetzt. –

Verwandte Themen