2011-09-27 80 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中调用一次,并保留在其他时间返回的引用,您将需要它。