目前,我有三个文本视图(H M S),分别为小时,分钟和秒。它们是可选择的;但是,假设选择了textView H.当触摸文本视图M时,自动取消选择textview H,并且textview M是唯一选择的。 S的情况也是如此。所以他们切换。
现在我有以下内容:
View.OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView previousText = (TextView) previousView;
TextView curText = (TextView) v;
// If the clicked view is selected, deselect it
if (curText.isSelected()) {
curText.setSelected(false);
curText.setTextColor(getResources().getColor(R.color.red_highlight));
}
// If this isn't selected, deselect the previous one (if any)
else {
if (previousText != null && previousText.isSelected()) {
previousText.setSelected(false);
previousText.setTextColor(getResources().getColor(R.color.red_highlight));
}
curText.setSelected(true);
curText.setTextColor(getResources().getColor(R.color.white));
previousView = v;
}
}
};
findViewById(R.id.hourtext).setOnClickListener(clickListener);
findViewById(R.id.minutetext).setOnClickListener(clickListener);
findViewById(R.id.secondtext).setOnClickListener(clickListener);
我希望计时器在选择H时记录数小时,选择M时记录几小时,以及选择S时记录秒数。
我试图遵循这个:
Android OnClickListener - identify a button
但是如何检查当前选择的TextView,以便在选择TextView时可以执行不同的方法/功能。
答案 0 :(得分:1)
您可以查看text_view ID,如下所示......
View.OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if(v.getID() == R.id.hourtext){
//corresponding button logic should below here
} else if (v.getID() == R.id.minutetext) {
//corresponding button logic should below here
} else if (v.getID() == R.id.secondtext) {
//corresponding button logic should below here
}
}
}
};
findViewById(R.id.hourtext).setOnClickListener(clickListener);
findViewById(R.id.minutetext).setOnClickListener(clickListener);
findViewById(R.id.secondtext).setOnClickListener(clickListener);
答案 1 :(得分:0)
我假设选择' ,你的意思是集中注意力。 使用此:
在父视图上调用getCurrentFocus()
:http://developer.android.com/reference/android/app/Activity.html#getCurrentFocus%28%29