2012-06-19 256 views
0

我在xml布局中创建了一些按钮。他们从三种不同语言的字符串资源中获取他们的名字。因此按钮并不总是按照正确的字母顺序。所以这是我的问题。我能做些什么来使按钮按所有3种语言按字母顺序排序?按字母顺序排序按钮

真诚 约翰

+0

从XML文件中不可能。您必须在您的活动中动态编写代码。 – user370305

+0

您可以创建三个不同的xml文件并添加到布局文件夹中 –

+0

或针对不同的语言和根据当前语言设置的活动创建时间创建3种不同的布局。您可以使用Locale.getDefault()。getDisplayLanguage(); – user370305

回答

1

假设三个按钮是一个LinearLayout中,你也可以继承的LinearLayout和覆盖getChildAt()方法返回你想要的顺序浏览(你可以制定出一旦字符串是加载)。

E.g.

@Override 
public View getChildAt(int index) 
{ 
    // translate index into the ordering you want. 
    // and put into newIndex... 

    return super.getChildAt(newIndex); 
} 
0

您可以为每种语言创建一个布局(检查这个document

另一种解决方案是加载在List字符串,对它们进行排序,然后用Button.setText来设置每个按钮从琴弦排序ListButton.setTag给每个按钮一个独特的标签为这个文本。之后,您可以使用标签相应地设置onClickListener