2013-04-25 2 views
4

Я начинаю программировать в андроиде и все еще сталкиваюсь с другой проблемой. Я делаю простое приложение spinner. Вот код.Тип new AdapterView.OnItemSelectedListener() {} должен реализовывать унаследованную ошибку абстрактного метода. Eclipse

package net.learn2develop.Basicviews6; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 
import android.widget.Toast; 

public class BasicViews6Activity extends Activity { 
String[] presidents; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    presidents = 
      getResources().getStringArray(R.array.presidents_array); 
    Spinner s1 = (Spinner) findViewById(R.id.spinner1); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_item, presidents); 

    s1.setAdapter(adapter); 
    s1.setOnItemSelectedListener(new OnItemSelectedListener() 
    { 
     @Override 
     public void onItemSelected(AdapterView<?> arg0, 
       View arg1, int arg2, long arg3) 
     { 
      int index = arg0.getSelectedItemPosition(); 
      Toast.makeText(getBaseContext(), 
        "You have selected item : " + presidents[index], 
        Toast.LENGTH_SHORT).show(); 
     } 

     @Override 
     public Void onNothingdSelected(AdapterView<?> arg0) { } 

    }); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.basic_views6, menu); 
    return true; 
} 

} 

Но это обыкновение позвольте мне бежать, потому что тезисы строки кода:

 s1.setOnItemSelectedListener(new OnItemSelectedListener() 
public Void onNothingdSelected(AdapterView<?> arg0) 

имеют ошибку, которая гласит:

типа новый AdapterView.OnItemSelectedListener() {} должны осуществлять унаследованный абстрактный метод AdapterView.OnItemSelectedListener.onNothingSelected (AdapterView)

Может кто-нибудь просветить меня? Любая помощь будет высоко ценится!

ответ

2

Ваш метод говорит onNothingdSelected(), но это должно быть onNothingSelected(). Измените это; вы неправильно это сделали.

+0

ugh. Я всегда делаю эту синтаксическую ошибку. Большое вам спасибо за вашу помощь –

3

пустота должна быть написана с прописной ст.

public void onNothingdSelected(AdapterView<?> arg0) { } 

вместо

public Void onNothingdSelected(AdapterView<?> arg0) { } 
+0

Также написано неправильно. onNothingdSelected() не имеет смысла. – Ahmad

+0

oh. хорошо, что поможет, но все еще там. –

+0

о да, не поймал этот :-) – SimonSays

1

Вы должны изменить

s1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()