2016-02-02 53 views
0

我正在開發我的第一個Android應用程序,它是一個非常基本的待辦事項列表應用程序。 我已經使用SQLite數據庫來存儲任務。添加的任務顯示在主要活動上。在Android中單擊切換Textview顏色

我希望用戶能夠點擊任何任務來標記它已完成,因此任務必須將其顏色更改爲紅色。

如果用戶再次單擊相同的任務,它應該恢復爲原來的顏色。

我嘗試添加一個onclick監聽器是這樣的:

public void onTaskDone(View view){ 
     view.setTextColor(Color.RED); 
    } 

但setTextColor方法顯示爲紅色(這意味着它不能這樣做)。

請幫忙!!

+0

這是改變按鈕的文本,但你可以用同樣的方法在哪裏它改變你改變顏色的文字。 http://stackoverflow.com/questions/6297159/change-button-text-and-action-android-development – Rohit5k2

+0

**到everyon:**我們必須停止勺子餵養! – Rohit5k2

回答

1
boolean isSelected =false 

public void onTaskDone(View view){ 
    if(!isSelected){ 
     view.setTextColor(Color.RED); 
     isSelected = true; 
    }else{ 
     view.setTextColor(Color.GREEN); 
     isSelected = false; 
    } 
} 
+0

它的工作!但是當我點擊我的待辦事項列表中的任何任務時,所有任務都會切換顏色,而不是我點擊的那個。 – Ayusch

0

你可以簡單地通過增加的onclick監聽器實現這一點,在這你可以改變文字顏色

tvStatus.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       if(tvStatus.getCurrentTextColor()==Color.BLACK) 
        tvStatus.setTextColor(Color.RED); 
       }else{ 
        tvStatus.setTextColor(Color.BLACK); 
       } 

      } 
     }); 
+0

它更完美。 –

0
boolean isSelected =false; 
    public void onTaskDone(TextView view){ 
     view.setTextColor(isSelected?Color.BLACK:Color.RED); 
     isSelected = !isSelected; 

    }