2013-04-25 139 views
4

我是android編程中的一個begginer,並且還遇到了另一個問題。我正在製作一個簡單的微調應用程序。這是代碼。類型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

呃。我總是會犯這些語法錯誤。非常感謝你的幫助 – 2013-04-25 00:28:21

3

空白需要以較低的情況下,V爲寫。

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

,而不是

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

還有一點很拼錯了。 onNothingdSelected()沒有意義。 – Ahmad 2013-04-25 00:26:51

+0

哦。那會有所幫助,但它仍然存在。 – 2013-04-25 00:27:45

+0

哦,是的,沒有抓住那個:-) – SimonSays 2013-04-25 00:33:24

1

您需要更改

s1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 
相關問題