2015-12-21 57 views
-3

我想在用戶從微調框中選擇一個選項時顯示烤麪包。我不斷收到錯誤,「無法解析方法makeText」。我一直在使用getApplicationContext()並鍵入MainActivity.this嘗試,但仍然是同一個錯誤,或者我得到一個額外的錯誤,指出,從微調框顯示烤麪包時的上下文錯誤

不兼容的類型要求:android.widget.Toast」。

public class MainActivity extends AppCompatActivity { 

private ImageView equalSign; 
private Spinner conversionSpinner, unitOneSpinner, unitTwoSpinner; 
private EditText unitOneEditText, unitTwoEditText; 
private String[] selectedList; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    final ArrayAdapter<String> conversionAdapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_dropdown_item, conversion_types); 
    conversionSpinner.setAdapter(conversionAdapter); 
    conversionSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 

      Toast toastMessage = Toast.makeText(this, "Hello", Toast.LENGTH_SHORT).show(); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 
} 

回答

1

你並不需要聲明一個敬酒的對象。只寫

Toast.makeText(this, "Hello", Toast.LENGTH_SHORT).show(); 

它應該工作。請讓我知道如果它。

+0

這對我有效。謝謝。我不知道爲什麼當我宣佈烤麪包對象時出現上下文錯誤。 – Chris

+0

Toast Toast是Toast的一個對象實例,而Toast.makeText()是一個靜態引用。 – Sri

0

使用的代碼行,而不是它

Toast.makeText(MainActivity.this, "Hello", Toast.LENGTH_SHORT).show(); 
+0

我試過,但由於某種原因它給了我一個不兼容的類型錯誤。 – Chris

+0

重現什麼錯誤? –

0

this是指在這種情況下的OnItemSelectedListener。所以,你需要改變

Toast toastMessage = Toast.makeText(this, "Hello", Toast.LENGTH_SHORT).show(); 

Toast.makeText(MainActivity.this, "Hello", Toast.LENGTH_SHORT).show(); 

.show方法沒有返回值。

0

不相容類型。必需:android.widget.Toast

因爲將void指定爲Toast對象。

如此處所示:Toast.show()方法返回void而不是Toast。做到這一點是:

Toast.makeText(MainActivity.this, "Hello", Toast.LENGTH_SHORT).show(); 

或創建吐司對象的電話後,show

Toast toastMessage = Toast.makeText(MainActivity.this,"Hello",Toast.LENGTH_SHORT); 
toastMessage.show(); 
+0

這也適用於我,當我嘗試它。感謝您的反饋。 – Chris

+0

@Chris:好,如果工作,如果你知道爲什麼錯誤發生,謝謝 –

相關問題