gpt4 book ai didi

Android如何处理数组中的按钮名称

转载 作者:行者123 更新时间:2023-11-30 04:18:56 24 4
gpt4 key购买 nike

我有几个按钮,比如

font1 = (Button)findViewById(R.id.fontsize1);
font2 = (Button)findViewById(R.id.fontsize2);

当我点击一个按钮时,我想更改它的文本颜色,同时更改其余按钮的文本颜色。当然我不想写很多行最佳实践是一个循环。

    font1.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
SaveFontSize("fontsize", "font1");
font1.setTextColor(Color.parseColor(color_active));
font1.setBackgroundResource(R.drawable.fonturesgreen);
}
}

});

我创建了一个列表:

List<String> fontarray = Arrays.asList("font1", "font2", "font3", "font4", "font5");

在循环中我尝试这样做:

  for (int i=0; i<5; i++) {
fontarray.get(i).setTextColor(Color.parseColor(color_active));
}

这给了我一个错误,因为 fontarray.get(i) 是一个字符串,而不是一个按钮。

最佳答案

您实际上可以遍历布局中的控件、查找按钮并将它们的名称(或您想要的其他属性)与存储在 List<String> 中的值进行比较:

LinearLayout yourLayout = (LinearLayout) findViewById(R.layout.yourLayout);

for (int i = 0; i < yourLayout.getChildCount(); i++) {
Object block = yourLayout.getChildAt(i);
if (block instanceof Button) {
Button btn = (Button)block;
// do something with the button
}
}

关于Android如何处理数组中的按钮名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9550395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com