xmlレイアウトでいくつかのボタンを作成しました。彼らは3つの異なる言語の文字列リソースから名前を取得します。したがって、ボタンは常に正しいアルファベット順であるとは限りません。だから私の質問があります。ボタンを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);
}
言語ごとにレイアウトを作成できます(このドキュメントを確認してください) 。
別の解決策は、文字列をにロードし、List
それらを並べ替えてから、を使用Button.setText
して並べ替えられたボタンの各ボタンの文字列を設定し、各ボタンにこのテキストの一意のタグを付けることですList
。Button.setTag
その後、タグを使用してonClickListener
それに応じて設定できます。