2011-09-27 81 views
0

我有Android項目v.2.1。 和我有代碼,在代碼中我有吐司,但他們沒有工作。爲什麼?吐司沒有工作

public void click(){ 

    TextView color = (TextView) findViewById(R.id.text); 
    switch(i){ 

    case 1: table.setBackgroundColor(Color.RED); color.setText("Красный"); 
     break; 
    case 2: table.setBackgroundColor(Color.rgb (255, 127, 0)); 
    color.setText("Оранжевый"); 
     break; 
    case 3: table.setBackgroundColor(Color.YELLOW); 
    color.setText("Желтый"); 
     break; 
    case 4: table.setBackgroundColor(Color.GREEN) ; 
    color.setText("Зеленый"); 
     break; 
    case 5: table.setBackgroundColor(Color.rgb (0,191,255)); 
    color.setText("Голубой"); 
     break; 
    case 6: table.setBackgroundColor(Color.BLUE); 
    color.setText("Синий"); 
     break; 
    case 7: table.setBackgroundColor(Color.rgb (160,32,240)); 
    color.setText("Фиолетовый"); 
     break; 
    case 8: // i=1; 
    Toast.makeText(getApplicationContext(), "Вы прошли все цвета",Toast.LENGTH_SHORT).show(); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< MY TOAST! 
     break; 
    } 

吐司不在OnCreate。

+1

由於情況8:' – Reno

+0

謝謝你,我是個愚蠢的女孩! –

回答

1

您的陳述以創建並顯示吐司是正確的。很可能你有一個邏輯錯誤,你絕對肯定你的switch語句正在使用case 8嗎?在每個案例中放置一些日誌語句是一個好主意,它可以打印出哪種情況,以便您可以更輕鬆地調試所發生的情況。

我不確定剩下的活動是什麼樣子,但這似乎是某種點擊偵聽器回調方法。如果是這種情況,你不應該有

TextView color = (TextView) findViewById(R.id.text); 

在點擊回調。這樣做意味着findViewById()將在每次點擊視圖時被調用。由於這是一種相對昂貴的方法,因此稱其更適合在onCreate中調用一次,並保留在其他時間返回的引用,您將需要它。