我正在尝试更改按钮上的文本颜色(动态创建);在第一次点击它工作,但再次点击它假设改变。但前一个颜色保留和新点击的按钮颜色变化。请建议我做错了.Below是我使用的代码。
final Button clickedBtn = (Button)ll.getChildAt(position);// ll is my linear layout
bval = v.getId();//Bval is the button id
String my = String.valueOf(bval);
btag = (Integer) v.getTag();
if(position>29 && position <=59){
Log.d("position", String.valueOf(position).toString());
Log.d("previous text is", preText);
int sum = 30;
sum = position - sum;
position = sum;
for(int k=0; k< 30; k++){
if(k!=btag){
previousBtn.setText(Html
.fromHtml("<b><font color='#1F383C'><strong><strong><big><big><big>"+ values[k]
+ "<big><big><big><strong><strong></font><b>"));
Log.d("value green", String.valueOf(k));
}
}
clickedBtn.setText(Html.fromHtml("<b><font color='#FF9000'><strong><strong><big><big><big>"
+ values[btag] + "<big><big><big><strong><strong></font><b>"));
Log.d("value orange", String.valueOf(btag));
}
答案 0 :(得分:0)
理解你的代码有点难,因为我不知道你想要做什么,我会说出我理解的内容,然后你可以澄清我,我可以编辑我的答案。
你可以说3个按钮,当你点击一个按钮时,它会获得一种颜色而另外两种颜色会获得其他颜色。所以单击的按钮会突出显示,就是这样吗?
另外你设置的是button.settag(someValue)吗? (我将担任职位)
如果是,那么你正在检查位置&gt; 29和&lt; 59但是,循环(用于设置其他按钮的颜色)从0到30。你永远不会设置这些按钮。
所以尝试将内部FOR从29改为59。
如果我弄错了,请告诉我编辑我的答案。
HIH