2016-02-02 56 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; 

    }