我在 xml 布局中创建了一些按钮。他们的名字来自 3 种不同语言的字符串资源。因此,按钮并不总是按正确的字母顺序排列。所以这是我的问题。我该怎么做才能使按钮在所有 3 种语言中按字母顺序排序?
真诚的约翰
假设这三个按钮位于 LinearLayout 中,您可以继承 LinearLayout 并覆盖 getChildAt() 方法以按您想要的顺序返回视图(一旦加载字符串,您就可以解决这个问题)。
例如
@Override
public View getChildAt(int index)
{
// translate index into the ordering you want.
// and put into newIndex...
return super.getChildAt(newIndex);
}
您可以为每种语言创建一个布局(查看此文档)
另一种解决方案是在 a 中加载字符串List
,对其进行排序,然后使用Button.setText
从排序中设置每个按钮的字符串,List
并Button.setTag
为每个按钮提供该文本的唯一标签。之后,您可以使用标签进行onClickListener
相应的设置。